피드로 돌아가기
Dev.toInfrastructure
원문 읽기
GCE 기반 Kubernetes Control Plane 수동 구축을 통한 내부 아키텍처 분석
Misadventures in Kubernetes: Provisioning the Control Plane
AI 요약
Context
Managed Service인 GKE의 추상화 계층으로 인해 가려진 Kubernetes 내부 동작 원리 파악 필요성 증대. Control Plane의 구성 요소와 네트워크 연결 방식을 직접 제어하여 시스템 내부 가시성을 확보하려는 목적임.
Technical Solution
- e2-standard-2 인스턴스를 통한 최소 요구 사양인 2 vCPUs 및 2GB RAM 확보로 안정적 Control Plane 환경 구축
- overlay 및 br_netfilter 커널 모듈 로드와 sysctl 설정을 통한 Pod 간 트래픽 제어 및 iptables 필터링 최적화
- Kubelet의 안정적 구동을 위한 Swap 메모리 비활성화를 통한 리소스 관리 예측 가능성 확보
- Industry-standard인 containerd 도입 및 systemd cgroup driver 설정을 통한 컨테이너 런타임 관리 효율화
- kubeadm을 활용한 Control Plane 초기화 및 pod-network-cidr(192.168.0.0/16) 정의로 네트워크 기본 토폴로지 설계
- Calico CNI 적용을 통한 Encapsulation 없는 고성능 네트워킹 및 분산 방화벽 기반의 Network Policy 구현
실천 포인트
- Kubelet 구동 전 Swap Off 설정 여부 확인 - Container Runtime의 Cgroup Driver와 OS의 Systemd 설정 일치 여부 검토 - CNI 선택 시 Overlay 네트워크 사용 여부에 따른 성능 오버헤드 분석 - 운영 환경의 안정성을 위한 kubelet, kubeadm, kubectl 버전 고정(apt-mark hold) 적용