피드로 돌아가기
Dev.toDevOps
원문 읽기
KIND 기반 로컬 클러스터 구축을 통한 K8s 핵심 오브젝트 및 Auto-scaling 검증
I Ran 9 Kubernetes Labs on a Local KIND Cluster — Here Is Everything I Learned
AI 요약
Context
Cloud 리소스 비용 부담과 설정 복잡도로 인한 Kubernetes 학습 진입 장벽 존재. Pod 단일 구성 시 장애 복구 불가 및 수동 관리로 인한 운영 효율성 저하 문제 분석.
Technical Solution
- Docker 컨테이너 기반의 KIND 클러스터를 WSL Ubuntu에 구축하여 비용 제로의 로컬 테스트 환경 확보
- ReplicaSet의 Selector 매칭 기반 Pod 복제본 유지로 Single Point of Failure 해결 및 Auto-healing 구현
- Deployment의 RollingUpdate 전략(maxSurge: 1, maxUnavailable: 0) 적용을 통한 Zero Downtime 배포 구조 설계
- Metrics-server 설치 및 HPA 설정으로 CPU 사용량 50% 기준 Pod 수 1~5개 자동 스케일링 로직 검증
- MetalLB 도입을 통한 Docker Bridge Subnet IP 풀 할당으로 로컬 환경 내 LoadBalancer 서비스 동작 모사
- Liveness 및 Readiness Probe 설정을 통한 애플리케이션 상태 기반의 트래픽 제어 및 자가 치유 메커니즘 강화
실천 포인트
- 운영 환경에서는 버전 관리와 재현 가능성을 위해 Imperative 방식 대신 YAML 기반의 Declarative 방식 사용 - 서비스 가용성 확보를 위해 모든 Deployment에 Liveness/Readiness Probe 설정 필수 적용 - Pod IP의 가변성을 고려하여 서비스 추상화 레이어인 Service 오브젝트를 통한 통신 구조 설계 - 로컬 K8s 환경에서 HPA 검증 시 Metrics-server의 --kubelet-insecure-tls 플래그 설정 확인