목차

Intel i9-12900 서버 KVM + Kubernetes 마스터 노드 VM 생성 가이드

목적: KVM 가상화 기반에서 Ubuntu Server를 활용한 Kubernetes 마스터 노드를 퍼포먼스 코어 1개(P-core, 2스레드) + 효율 코어 1개(E-core, 1스레드) 기반으로 생성하고 운영


egrep -c '(vmx|svm)' /proc/cpuinfo

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)

설정 반영을 위해 로그아웃 후 재로그인 필요


/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: no
sudo netplan apply
ip a | grep br0

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.iso

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 master1

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.xml

XML 내 아래 블럭 추가 또는 수정:

<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 19

virsh start master1
virsh vcpuinfo master1

예상 결과:

VCPU: 0  CPU: 0
VCPU: 1  CPU: 1
VCPU: 2  CPU: 16

/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.1
sudo netplan apply

작업명령어
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) 설정

virsh list –all

virsh undefine master1 –remove-all-storage

virsh start master1

virsh reboot master1 # 또는, VM 내부에서 sudo reboot 실행

virsh console master1

키보드에서 Ctrl + ] 를 동시에 누름

exit # 또는 logout