AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Kubernetes YAML 패턴: 실무에서 자주 사용하는 5가지 예시

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • 대상자: Kubernetes 관리자, CKA 시험 준비자, 프로덕션 클러스터 관리자
  • 난이도: 중급~고급 (실무 경험자 및 시험 준비자 대상)

핵심 요약

  • 자원 제한 설정: resources.requestsresources.limits를 통해 CPU/메모리 할당 최적화 (100m, 128Mi 등)
  • ConfigMap 볼륨 마운트: volumeMountsconfigMap을 통해 외부 설정 파일을 Pod에 안전하게 배포
  • HPA(수평 Pod Autoscaler): averageUtilization: 60 기준으로 자동 스케일링, minReplicasmaxReplicas 설정 필수

섹션별 세부 요약

1. 기본 Deployment와 자원 제한

- apps/v1 API 사용, replicas: 2로 무중단 배포 보장

- resources.requestsresources.limits를 통해 CPU/메모리 할당 최적화 (예: cpu: "100m", memory: "128Mi")

- 시험 및 프로덕션 환경에서 안정적인 성능 보장

2. ConfigMap 볼륨 마운트

- volumeMounts를 통해 /etc/config 경로에 ConfigMap 마운트

- configMap.name: my-configmap으로 외부 설정 파일을 Pod에 전달

- 애플리케이션의 설정 변경 시 재배포 없이 즉시 반영 가능

3. 서비스 + Ingress 조합 (HTTP 라우팅)

- Service로 Pod에 접근 가능한 엔드포인트 정의 (port: 80, targetPort: 8080)

- Ingress를 통해 example.com 도메인을 web-svc 서비스에 연결

- pathType: Prefix로 경로 기반 라우팅 구현

4. Horizontal Pod Autoscaler (HPA)

- autoscaling/v2 API 사용, scaleTargetRef로 Deployment 연결

- CPU 사용률 60% 기준으로 minReplicas: 2 ~ maxReplicas: 10 간 자동 스케일링

- 클러스터 부하에 따른 자동 확장으로 서비스 가용성 향상

5. 네트워크 정책 (Namespace 제한)

- NetworkPolicyallowed-ns 라벨이 있는 Namespace만 허용

- podSelector: {}로 모든 Pod에 적용, ingress.from.namespaceSelector로 접근 제어

- 보안 강화를 위한 네트워크 트래픽 제한 패턴

결론

  • Kubernetes 실무에서 자주 사용되는 YAML 패턴은 자원 제한, ConfigMap, HPA, Ingress, NetworkPolicy 등이며, CKA 시험 및 프로덕션 배포 시 반드시 적용해야 함.
  • 추가 학습: CKA Study Guide에서 무료/유료 버전 제공 (코드 CKA15SUMMER 사용 가능).