들어가며
Kubernetes 클러스터를 학습하기 위해 ARM 서버에 KVM 가상화 환경을 구축했습니다. 이 글에서는 첫 번째 단계로 VNC 서버와 KVM 패키지 설치, 그리고 WiFi 브릿지 네트워크 설정까지 다룹니다.
서버 환경
| 항목 | 사양 |
|---|---|
| 서버 | 원격 ARM 서버 |
| CPU | 20코어 (ARM64, aarch64) |
| 메모리 | 가용 105GB |
| 디스크 | 여유 758GB |
| OS | Ubuntu 24.04.4 LTS |
| 네트워크 | WiFi (wlP9s9, 192.168.1.100/24) |
목표
- ✅ GUI 원격 접속을 위한 VNC 서버 설치
- ✅ KVM 가상화 환경 구축
- ✅ 네트워크 환경 준비 (NAT 네트워크)
1. VNC 서버 설치
원격에서 GUI 환경으로 VM을 관리하기 위해 VNC 서버를 설치합니다.
1-1. 데스크톱 환경 설치 (XFCE)
XFCE는 가볍고 빠른 데스크톱 환경입니다.
| |
1-2. TigerVNC 서버 설치
| |
1-3. VNC 비밀번호 설정
| |
1-4. VNC 시작 스크립트 생성
| |
1-5. VNC 서버 시작
| |
⚠️ 주의: -localhost no 옵션을 빼면 127.0.0.1에만 바인딩되어 외부 접속이 불가능합니다.
1-6. 접속 확인
| |
접속 정보:
- 주소:
서버주소:5901 - 비밀번호: vncpasswd로 설정한 비밀번호
2. KVM 패키지 설치
2-1. KVM 지원 확인
| |
2-2. KVM 및 가상화 도구 설치
| |
설치되는 패키지:
- qemu-kvm: KVM 하이퍼바이저
- libvirt-daemon: 가상화 데몬
- virt-manager: GUI 가상머신 관리 도구
- virt-viewer: 가상머신 콘솔 뷰어
2-3. 사용자 그룹 추가
| |
2-4. libvirtd 데몬 활성화
| |
3. 네트워크 환경 준비
NAT 네트워크 사용
libvirt는 기본적으로 default 네트워크(NAT)를 제공합니다. WiFi 환경에서 macvlan 브릿지를 시도했으나, Layer 2 브릿지 제한으로 인해 VM에서 외부 네트워크 접근이 불안정했습니다.
해결책: NAT 네트워크 사용
- VM은
192.168.122.0/24대역 사용 - 호스트를 게이트웨이로 외부 통신
- apt update, 패키지 설치 등 정상 작동
3-1. default 네트워크 확인
| |
출력 예시:
Name State Autostart Persistent
--------------------------------------------
default active yes yes
이미 활성화되어 있으면 별도 설정이 필요 없습니다.
3-2. default 네트워크 시작 (비활성화 상태인 경우)
| |
3-3. 네트워크 정보 확인
| |
주요 설정:
- 네트워크 대역: 192.168.122.0/24
- 게이트웨이: 192.168.122.1
- DHCP 범위: 192.168.122.2 ~ 192.168.122.254
WiFi 브릿지를 시도하지 않는 이유
WiFi 환경에서 macvlan 브릿지를 구성하면:
- ❌ VM에서 apt update 실패
- ❌ 외부 네트워크 불안정
- ❌ Layer 2 브릿지 제한
NAT 네트워크를 사용하면:
- ✅ 안정적인 외부 통신
- ✅ DHCP 자동 할당
- ✅ 고정 IP 설정 가능 (netplan)
검증
VNC 접속 테스트
VNC 클라이언트(RealVNC, TigerVNC Viewer 등)로 접속:
- 주소:
서버주소:5901 - 비밀번호: 설정한 비밀번호
KVM 설치 확인
| |
네트워크 확인
| |
다음 단계
1단계 완료 후, VNC로 GUI 접속하여:
virt-manager실행- VM 3개 생성 (k8s-master, k8s-worker1, k8s-worker2)
- 각 VM에 Ubuntu Server 24.04 ARM64 설치
- 네트워크는 default (NAT) 선택
- 고정 IP 설정 (192.168.122.10/11/12)
- Kubernetes 클러스터 구축
다음 글에서는 VM 생성, 네트워크 설정, Kubernetes 클러스터 전체 구축 과정을 다룹니다.