
실습 YAML·설정 파일 ZIP 내려받기 · 전체 파일을 한 번에 apply하지 말고 각 편의 순서를 따르세요.
Windows 11의 VMware Workstation에 Rocky Linux VM 세 대를 만들고 Kubernetes를 설치하는 10편의 연재입니다. 같은 앱으로 배포와 통신, 저장, 권한, 장애 진단과 복원을 이어 갑니다. 각 설정의 이유와 확인할 상태를 함께 적었으니 설치 뒤의 운영 과정을 살펴볼 때도 참고할 수 있습니다.
실습 환경과 읽는 순서
Rocky Linux 9.6 x86_64 설치 미디어로 시작하고, 보안 업데이트 후 지원 중인 Rocky 9.x를 사용합니다. Kubernetes 1.36.5, containerd 2.x, Calico 3.33.0이 문서 기준 조합입니다. CP 1대·워커 2대이며 노드 대역 192.168.80.0/24, Pod 대역 10.244.0.0/16, Service 대역 10.96.0.0/12를 사용합니다. 패키지 선택 시점이 다르면 저장소 목록과 공식 호환성을 다시 확인합니다.
Windows 호스트는 RAM 32 GB와 SSD 여유 150 GB 이상을 권장합니다. Linux 쉘과 sudo, 파일 편집의 기초를 알면 따라가기 편해요. Bash는 Linux에서, PowerShell은 Windows에서 실행합니다. 특정 노드에만 적용할 작업은 해당 단계에 표시합니다.
| 순서 | 내용 | 마친 뒤 할 수 있는 일 |
|---|---|---|
| 01 | Windows 11·VMware와 Rocky Linux 실습 환경 | VMware NAT 네트워크부터 VM 사양, IP 설계, Rocky Linux 9.6 설치까지. 3대의 가상 머신으로 Kubernetes를 끝까지 배울 실습실을 준비합니다. |
| 02 | Rocky Linux 고정 IP·시간·커널 설정 | 고정 IP와 이름 해석, swap, 커널 모듈, SELinux의 의미를 짚고 세 노드의 공통 조건을 맞춥니다. 설치 전에 재부팅 검증까지 마칩니다. |
| 03 | containerd 2.x와 kubeadm 설치 | Docker 없이 containerd로 컨테이너를 실행하는 구조를 살펴보고, systemd cgroup과 Kubernetes RPM 버전을 세 노드에서 일치시킵니다. |
| 04 | 클러스터 구성과 Calico 연결 | kubeadm init과 join으로 3노드 클러스터를 구성합니다. API 서버, etcd, 컨트롤러의 역할과 Calico VXLAN을 연결해 Ready 상태를 확인합니다. |
| 05 | Deployment 배포와 롤링 업데이트 | 비특권 NGINX를 배포하며 requests·limits, readiness·liveness, 스케줄러의 필터링과 점수 계산, 롤링 업데이트를 실습합니다. |
| 06 | Service·DNS와 Windows에서의 접속 경로 | ClusterIP·NodePort·EndpointSlice를 연결해 요청 경로를 추적합니다. ConfigMap으로 웹 페이지를 바꾸고 Secret을 다룰 때의 경계도 살펴봅니다. |
| 07 | local PV·PVC로 파일 남기기 | local PersistentVolume과 PVC를 연결해 파일 생존을 실습합니다. WaitForFirstConsumer, 노드 종속성, Retain과 백업의 차이를 이해합니다. |
| 08 | RBAC·NetworkPolicy·Pod 실행 권한 | 읽기 전용 ServiceAccount와 Role을 만들고 Calico NetworkPolicy로 접근을 제한합니다. Pod Security Admission과 토큰 관리까지 연결합니다. |
| 09 | Pod 장애 진단과 노드 drain | 이벤트·로그·종료 사유를 읽는 순서를 익히고, 의도적인 스케줄링 실패를 복구합니다. PDB를 두고 워커를 안전하게 drain·복귀시킵니다. |
| 10 | etcd·파일 복원과 패치 업그레이드 | etcd 스냅샷 저장과 격리된 단일 컨트롤 플레인 복구를 실습합니다. 로컬 파일 백업, 패치 업그레이드 순서, 인증서 점검까지 연결합니다. |
파일을 쌓는 위치
실습 파일은 cp01의 ~/k8s-lab/app에 모읍니다. 5편의 web-deployment.yaml은 6편에서 ConfigMap, 8편에서 토큰 마운트 설정을 더해 계속 사용합니다. YAML 조각은 따로 apply하지 않고 기존 파일에 합칩니다. 7편의 local-data PVC와 wk01 파일은 마지막 백업까지 남겨 둡니다.
검증 범위와 운영 경계
공식 문서와 RPM 저장소, Calico 배포 파일, 이미지의 제공 여부를 확인하고 YAML·셸 구문을 검토했습니다. Windows 11·VMware·Rocky VM 세 대에서 전체 절차를 실행한 실측 기록은 아닙니다. 예시 출력을 실제 실행 화면으로 사용하지 않았습니다. 각 단계의 상태는 사용하는 장비에서 확인하며 진행해야 합니다.
이 환경은 학습용입니다. 단일 컨트롤 플레인, SELinux permissive, 게스트 firewalld 비활성화, local PV의 노드 종속성을 의도적으로 드러냈습니다. 운영 서버로 옮길 때는 접근 통제, 고가용성, 스토리지와 데이터 일관성, 외부 백업을 별도로 설계해야 합니다. 관리자 kubeconfig·토큰·PKI·etcd 백업은 공개 저장소나 웹 디렉터리에 두지 않습니다.
어떤 순서로 배우면 좋은가
1~4편에서는 노드와 Pod DNS를 준비하고 5~7편에서는 웹 앱의 배포·통신·저장을 다룹니다. 8~10편은 권한, 장애 진단, 백업·복원입니다. 오류가 남았다면 다음 글의 명령을 더 실행하기 전에 해당 단계부터 확인해 보세요. 7편의 테스트 Pod와 8편의 정책은 정리 명령까지 마쳐야 뒤의 drain 실습을 이어갈 수 있습니다.
문서 기준일: 2026년 10월 18일. 기술 오류가 발견되면 글의 편 번호, 사용 버전, 민감정보를 뺀 오류 메시지와 함께 댓글로 남겨 주세요.