Intel i9-12900 서버 KVM + Kubernetes 마스터 노드 VM 생성 가이드
목차
목적: KVM 가상화 기반에서 Ubuntu Server를 활용한 Kubernetes 마스터 노드를 퍼포먼스 코어 1개(P-core, 2스레드) + 효율 코어 1개(E-core, 1스레드) 기반으로 생성하고 운영
1. CPU 가상화 지원 확인
egrep -c '(vmx|svm)' /proc/cpuinfo2. KVM 및 관련 도구 설치
sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager cpu-checker
sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt $(whoami)설정 반영을 위해 로그아웃 후 재로그인 필요
3. 브리지 네트워크 br0 설정
/etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eno2: {}
bridges:
br0:
interfaces: [eno2]
addresses:
- 10.10.10.10/24
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
routes:
- to: default
via: 10.10.10.1
parameters:
stp: false
forward-delay: 0
dhcp4: nosudo netplan apply
ip a | grep br04. ISO 파일 images 폴더로 이동
sudo mv /home/crimson/ubuntu-24.04.2-live-server-amd64.iso /var/lib/libvirt/images/
sudo chmod 644 /var/lib/libvirt/images/ubuntu-24.04.2-live-server-amd64.iso5. 마스터 VM 생성
sudo virt-install \
--name master1 \
--ram 8192 \
--disk size=100 \
--vcpus 3 \
--os-variant ubuntu24.04 \
--graphics none \
--console pty,target_type=serial \
--location /var/lib/libvirt/images/ubuntu-24.04.2-live-server-amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd \
--network bridge=br0,model=virtio \
--extra-args 'console=ttyS0,115200n8 serial'설치 완료 후:
virsh shutdown master16. CPU 핀 설정 (P-core + E-core)
CPU 확인:
lscpu -e
- CORE 와 MAXMHZ 통해서 P-E 코어 확인 가능
- CPU 0,1 CORE 0,0 = P-core #0 (HT 지원)
- CPU 16 같은 코어에 묶인게 없음 = E-core #0 (단일 스레드)
- 같은 코어끼리 묶어주는 것이 좋음
가상 머신 XML 가져오기:
virsh dumpxml master1 > master1.xmlXML 내 아래 블럭 추가 또는 수정:
<vcpu placement='static'>3</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='0'/>
<vcpupin vcpu='1' cpuset='1'/>
<vcpupin vcpu='2' cpuset='16'/>
</cputune>적용:
virsh define master1.xml직접 핀닝도 가능:
sudo virsh vcpupin master1 0 2
sudo virsh vcpupin master1 1 3
sudo virsh vcpupin master1 2 4
sudo virsh vcpupin master1 3 5
sudo virsh vcpupin master1 4 18
sudo virsh vcpupin master1 5 197. VM 시작 및 CPU 확인
virsh start master1
virsh vcpuinfo master1예상 결과:
VCPU: 0 CPU: 0
VCPU: 1 CPU: 1
VCPU: 2 CPU: 168. 마스터 VM 내부 고정 IP 설정
/etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
ens3:
addresses:
- 10.10.10.21/24
routes:
- to: default
via: 10.10.10.1
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1sudo netplan apply9. 주요 VM 관리 명령어
| 작업 | 명령어 |
|---|---|
| VM 정상 종료 | virsh shutdown master1 |
| VM 강제 종료 | virsh destroy master1 |
| XML 추출 | virsh dumpxml master1 > master1.xml |
| XML 적용 | virsh define master1.xml |
| VM 시작 | virsh start master1 |
| CPU 핀 확인 | virsh vcpuinfo master1 |
요약 체크리스트
- ✅ KVM & libvirt 설치
- ✅ 브리지 네트워크
br0구성 완료 - ✅ ISO 퍼미션 설정 완료
- ✅ RAM 8GB, Disk 100GB, vCPU 3 (P-core 2스레드 + E-core 1스레드)
- ✅ CPU 고정 핀 지정 완료
- ✅ 고정 IP (10.10.10.21) 설정
VM 목록 확인 (실행 중 + 중지 포함)
virsh list –all
가상머신 완전 삭제 (설정 + 연결된 디스크까지 삭제)
virsh undefine master1 –remove-all-storage
가상머신 시작
virsh start master1
가상머신 재부팅
virsh reboot master1 # 또는, VM 내부에서 sudo reboot 실행
virsh console 접속 (시리얼 콘솔)
virsh console master1
virsh console에서 빠져나오기
키보드에서 Ctrl + ] 를 동시에 누름
가상머신 콘솔 또는 SSH 세션에서 로그아웃
exit # 또는 logout