Windows 11 안에 Rocky Linux VM 세 대를 만들고 Kubernetes를 설치하는 연재입니다. 우선 VM 사양과 IP 대역을 정해 둘게요. 호스트 메모리가 부족하거나 VPN 대역과 겹치면 뒤의 설치가 정상이어도 실습이 막힐 수 있습니다.
목차
1. kubeadm·containerd·Calico 구성
이 글의 바닐라 Kubernetes는 kubeadm으로 구성하는 업스트림 Kubernetes입니다. 컨테이너 실행은 containerd, Pod 사이의 네트워크는 Calico가 맡습니다. 역할을 나눠 두면 이미지 실행 문제와 Pod 통신 문제를 어디서 확인할지 구분하기 편해요.
| 구분 | 이 연재의 기준 | 선택 이유 |
|---|---|---|
| 호스트 | Windows 11, VMware Workstation Pro | 가상 NIC와 스냅샷을 직접 다루며 서버 실습 |
| 게스트 OS | Rocky Linux 9.6 x86_64 설치 미디어로 시작 | RHEL 계열의 systemd·NetworkManager·cgroup v2 학습 |
| Kubernetes | 1.36 계열, RPM 저장소에서 같은 패치 선택 | 설치 중 노드 간 버전 차이를 줄이고 지원 계열 사용 |
| 런타임 / CNI | containerd 2.x / Calico 3.33.0, VXLAN | CRI와 네트워크 정책까지 같은 구성으로 학습 |
| 노드 수 | 컨트롤 플레인 1대 + 워커 2대 | 재스케줄링 관찰에 필요한 최소한의 분리 |
Rocky의 이전 마이너 릴리스는 다음 마이너가 나오면 vault로 옮겨지고 일반 지원이 끝납니다. 9.6 ISO로 설치한 뒤에는
dnf upgrade로 지원 중인 Rocky 9.x 패치를 적용합니다. 그래서/etc/rocky-release가 9.6과 달라질 수 있습니다. 이 연재에서는 보안 업데이트를 포기하면서 9.6을 계속 고정하지 않습니다.
2. 호스트와 VM 사양
| 이름 | vCPU | 메모리 | 가상 디스크 | 역할 |
|---|---|---|---|---|
| cp01 | 2 | 4 GB | 60 GB, thin provisioning | API 서버·etcd·스케줄러 |
| wk01 | 2 | 4 GB | 60 GB | 앱 실행·스토리지 실습 |
| wk02 | 2 | 4 GB | 60 GB | 앱 실행·노드 점검 실습 |
호스트는 RAM 32 GB와 SSD 여유 150 GB 이상을 권장합니다. VM 세 대에 12 GB를 배정하고도 Windows와 브라우저가 쓸 공간이 필요해요. 16 GB PC라면 워커를 3 GB로 줄이고 다른 앱을 닫아 볼 수 있지만 메모리 압박도 기록해 둡니다. vCPU를 많이 배정해도 호스트 자원이 부족하면 대기 시간은 늘어날 수 있습니다.
BIOS/UEFI의 CPU 가상화를 켠 뒤 Workstation에서 VM이 실행되는지 확인합니다. Linux VM에서 컨테이너를 사용하는 데 중첩 가상화는 따로 필요하지 않습니다. Hyper-V나 보안 기능과 관련한 오류는 해당 Workstation 버전의 Broadcom 안내를 따릅니다. 보안 기능 전체 해제를 기본 설치 절차로 사용하지 않습니다.
3. VMnet8과 IP 대역
Workstation의 Edit → Virtual Network Editor → Change Settings에서 VMnet8을 선택합니다. 관리자 권한이 필요합니다. NAT와 서브넷 192.168.80.0/24, 호스트 어댑터 연결을 사용합니다. NAT Settings에서 게이트웨이 192.168.80.2를 확인하고 DHCP는 192.168.80.128~254로 조정합니다. 기존 VM이 있다면 변경 전 구성을 남겨 두세요. 메뉴 이름은 버전에 따라 다를 수 있습니다.
| 대상 | 주소 |
|---|---|
| Windows VMnet8 어댑터 | 192.168.80.1/24 |
| NAT 게이트웨이 | 192.168.80.2 |
| cp01 / wk01 / wk02 | 192.168.80.10 / .11 / .12 |
| Pod 대역 | 10.244.0.0/16 |
| Service 대역 | 10.96.0.0/12 |
VM·Pod·Service의 세 대역은 겹치지 않게 정합니다. 사내 VPN이 10.0.0.0/8을 사용한다면 Pod와 Service 대역도 검토해야 합니다. 아래 PowerShell 결과에서 LAN·VPN·VMnet 경로를 비교합니다. 예제 주소를 바꿀 때에는 kubeadm 설정과 Calico IPPool도 함께 바꿉니다.
Get-NetIPAddress -AddressFamily IPv4
Get-NetRoute -AddressFamily IPv4 | Sort-Object DestinationPrefix
VM의 외부 저장소 접속에는 NAT를 사용하고, Windows에서 VM에 들어갈 때는 VMnet8의 사설 IP로 접속합니다. 이 경로라면 뒤의 NodePort 실습에서 공유기나 VMware의 포트 전달을 먼저 설정하지 않아도 됩니다. 다른 물리 PC에서 접속하려면 별도 경로가 필요하며, 연재는 Windows 호스트 한 대 안의 구성을 기준으로 합니다.
4. Rocky Linux 9.6 설치
- Rocky 공식 vault에서
Rocky-9.6-x86_64-minimal.iso와 같은 디렉터리의 CHECKSUM 파일을 내려받습니다. 파일명·해시를 비교하고, 가능하면 서명도 공식 키로 검증합니다. - New Virtual Machine에서 Linux / Red Hat Enterprise Linux 9 64-bit에 해당하는 게스트 유형을 선택합니다. 유형이 없으면 해당 버전의 Broadcom 호환성 안내를 확인합니다.
- 디스크 60 GB, NAT NIC 하나, 앞의 CPU·메모리 값을 적용하고 ISO로 부팅합니다. 자동 디스크 파티션과 Minimal Install을 사용합니다.
- 관리 계정
labadmin을 만들고 관리자 권한을 부여합니다. 호스트명은 각각cp01,wk01,wk02로 지정합니다. 네트워크의 최종 고정 주소는 2편에서 설정합니다. - 설치가 끝나면 ISO 연결을 끊습니다. 같은 절차로 세 대를 설치하면 복제된 machine-id와 MAC 주소 문제를 피하기 쉽습니다.
Get-FileHash .\Rocky-9.6-x86_64-minimal.iso -Algorithm SHA256
VM을 복제했다면 MAC, product UUID, machine-id가 세 노드에서 서로 다른지 확인합니다. 호스트명만 바꿔 클러스터에 넣지 않습니다. 특히 kubeadm init 뒤의 VM은 인증서와 노드 상태도 갖고 있으므로 새 워커용 원본으로 복제하지 않습니다.
5. VM 준비 상태 확인
- 세 VM이 동시에 부팅되고 Windows가 과도하게 스왑하지 않습니다.
- 각 VM의 NIC가 같은 VMnet8에 연결되어 있습니다.
- 노드·Pod·Service 대역이 LAN과 VPN의 경로와 겹치지 않습니다.
- 9.6 ISO 시작점과 업데이트 후의 Rocky 9.x를 구분해 실습 기록에 적어 둡니다.
VMware 스냅샷은 실습을 되돌릴 때 편리합니다. 다만 같은 SSD가 고장 나면 VM과 스냅샷이 함께 사라질 수 있어요. 별도 백업과는 구분해 사용하고, etcd와 파일 복구는 10편에서 다룹니다.
참고 자료
- Rocky Linux 릴리스·마이너 버전 지원 정책
- Rocky Linux 9.6 공식 설치 이미지 보관소
- Broadcom 가상 네트워크 편집기 안내
- Kubernetes 지원 릴리스
공식 문서와 배포 파일 확인 기준: 2026년 10월 18일. 출력은 완료 여부를 판단하기 위한 예시이며 환경별로 달라질 수 있습니다.




답글 남기기