#컨테이너 오케스트레이션
72 편의 글
Certified Kubernetes Application Developer (CKAD) #18 Services: ClusterIP, NodePort, LoadBalancer, ExternalName
Certified Kubernetes Application Developer (CKAD) 시리즈 열여덟 번째 글입니다. 바뀌는 Pod 집합 앞에 안정적인 진입점을 세우는 Service를 다룹니다. selector와 label로 Pod를 고르고 Endpoints가 자동으로 관리되는 원리, ClusterIP,NodePort,LoadBalancer,ExternalName 네 타입의 차이, port와 targetPort와 nodePort의 구분, headless Service와 클러스터 DNS, 그리고 엔드포인트가 비는 디버깅까지 YAML과 kubectl로 익히겠습니다.
Certified Kubernetes Security Specialist (CKS) #16 Admission control: OPA/Gatekeeper, Kyverno
Certified Kubernetes Security Specialist (CKS) 시리즈의 16번째 글입니다. API 요청을 가로채 검증하고 변형하는 admission controller의 동작 원리부터, validating webhook과 mutating webhook의 차이, OPA/Gatekeeper의 ConstraintTemplate와 Constraint 그리고 Rego 정책, Kyverno의 YAML 기반 validate/mutate/generate 정책을 예제로 익히겠습니다. latest 태그 금지와 신뢰 레지스트리 제한을 두 도구로 각각 구현하고, 위반 매니페스트를 거부하는 시험 단골 패턴까지 정리하겠습니다.
Certified Kubernetes Administrator (CKA) #22 Troubleshooting 1: Pod와 앱 (Pending, CrashLoop, ImagePull, OOM)
CKA 시험에서 가장 비중이 큰 도메인은 Troubleshooting(30%)입니다. 이번 글에서는 그중에서도 가장 자주 나오는 Pod 레벨 장애 네 가지를 다루겠습니다. Pending, CrashLoopBackOff, ImagePullBackOff/ErrImagePull, OOMKilled를 각각 증상에서 진단, 해결까지 한 흐름으로 정리하고, describe와 events,logs를 어떤 순서로 읽어야 빠르게 원인에 닿는지 손에 익히겠습니다.
Certified Kubernetes Application Developer (CKAD) #17 Volumes: emptyDir, PVC, projected, ephemeral
Certified Kubernetes Application Developer (CKAD) 시리즈의 열일곱 번째 글입니다. 컨테이너 파일시스템의 휘발성을 출발점으로, emptyDir와 hostPath, PersistentVolumeClaim과 StorageClass의 동적 프로비저닝, secret,configMap,downwardAPI를 한 디렉터리로 묶는 projected volume, generic ephemeral volume까지 실기 YAML 예제로 정리합니다.
Certified Kubernetes Security Specialist (CKS) #15 이미지 서명: cosign, SBOM
Certified Kubernetes Security Specialist (CKS) 시리즈의 열다섯 번째 글입니다. 클러스터로 들어오는 이미지를 신뢰하는 유일한 방법은 출처를 증명하는 서명을 검증하는 것입니다. sigstore의 cosign으로 키 기반 서명과 keyless(OIDC) 서명을 만들고 검증하는 법, syft로 SBOM(SPDX,CycloneDX)을 생성해 구성 요소를 추적하는 법, 그리고 admission으로 미서명 이미지를 막아 공급망을 닫는 흐름까지 명령 예제와 함께 정리하겠습니다.
Certified Kubernetes Administrator (CKA) #21 Helm과 Kustomize: 매니페스트 관리
Certified Kubernetes Administrator (CKA) 시리즈의 스물한 번째 글입니다. 매니페스트를 관리하는 두 도구 Helm과 Kustomize를 운영 명령 중심으로 익히겠습니다. Helm은 repo add/update, install/upgrade/rollback, values 주입, template 렌더링을 다루고, Kustomize는 base/overlays 구조와 patchesStrategicMerge, configMapGenerator, kubectl apply -k를 다룹니다. 둘의 차이(템플릿 대 오버레이)를 표로 정리하고 CKA 시험 포인트를 짚겠습니다.
Certified Kubernetes Application Developer (CKAD) #16 리소스 관리: requests/limits, QoS class, LimitRange
Certified Kubernetes Application Developer (CKAD) 시리즈의 열여섯 번째 글입니다. Pod가 자원을 얼마나 요청하고 얼마까지 쓸 수 있는지를 결정하는 requests와 limits를 단위까지 정리하고, CPU 스로틀과 memory의 OOMKilled가 어떻게 갈리는지 확인합니다. QoS class 세 종류와 eviction 우선순위, 네임스페이스 기본값을 강제하는 LimitRange와 총량을 막는 ResourceQuota까지 YAML 예제로 익히겠습니다.
Certified Kubernetes Security Specialist (CKS) #14 Image scan: Trivy, Kubesec, KubeLinter
Certified Kubernetes Security Specialist (CKS) 시리즈의 열네 번째 글입니다. 공급망 보안의 핵심인 이미지 취약점 스캔을 정리하겠습니다. 컨테이너 이미지의 OS 패키지,언어 라이브러리에 박힌 CVE를 찾아내는 Trivy의 image,filesystem,repo 스캔과 severity 필터링,exit-code 기반 CI gate, 매니페스트의 securityContext 설정을 점수로 평가하는 Kubesec, 매니페스트를 정적 분석해 안티패턴을 잡는 KubeLinter의 역할 차이를 표로 비교하고, 시험 단골인 특정 심각도의 취약점을 가진 이미지를 찾아 교체하는 작업까지 명령 예제로 다루겠습니다.
Certified Kubernetes Administrator (CKA) #20 Networking 3: CoreDNS, NetworkPolicy
Certified Kubernetes Administrator (CKA) 시리즈의 스무 번째 글입니다. 클러스터 안에서 Pod와 Service가 서로를 이름으로 찾는 CoreDNS의 동작과 Corefile 설정, nslookup으로 DNS를 디버깅하는 법, 그리고 어떤 Pod가 어떤 Pod와 통신할 수 있는지를 제어하는 NetworkPolicy의 podSelector와 ingress/egress 규칙을 운영 관점에서 정리하겠습니다. default deny 패턴과 CNI 의존성까지 함께 다루겠습니다.
Certified Kubernetes Application Developer (CKAD) #15 SecurityContext와 Capabilities: runAsUser, fsGroup, readOnly rootfs
Certified Kubernetes Application Developer (CKAD) 시리즈의 열다섯 번째 글입니다. securityContext로 컨테이너가 어떤 사용자와 권한으로 도는지 제한하는 법을 다룹니다. runAsUser,runAsNonRoot,fsGroup, readOnlyRootFilesystem과 emptyDir 우회, allowPrivilegeEscalation, Linux capabilities의 add,drop, privileged 컨테이너의 위험까지 YAML 예제로 손에 익히겠습니다.
Certified Kubernetes Security Specialist (CKS) #13 Minimal images: distroless, scratch (Supply Chain)
Certified Kubernetes Security Specialist (CKS) 시리즈의 열세 번째 글입니다. Supply Chain Security도메인의 출발점인 이미지 최소화를 다루며, 큰 이미지가 셸,패키지 매니저,불필요한 CVE로 공격 표면을 어떻게 넓히는지, distroless와 scratch가 무엇을 덜어내는지, alpine과 비교해 어떻게 고르는지를 정리합니다. 멀티스테이지 빌드로 빌드 도구를 런타임에서 떼어내는 패턴, 셸 없는 이미지를 ephemeral container로 디버깅하는 법, non-root 사용자 적용까지 Dockerfile 예제로 풀어내겠습니다.
Kubernetes and Cloud Native Associate (KCNA) #4 Container Orchestration (22%): 런타임, 보안, 네트워킹, 스토리지, Service Mesh
컨테이너 런타임과 OCI,CRI 표준, RBAC와 NetworkPolicy 보안, CNI 네트워킹과 CoreDNS, CSI 스토리지, 그리고 Service Mesh까지 KCNA Container Orchestration 도메인의 핵심을 정리하겠습니다. CRI,CNI,CSI 세 인터페이스가 나누는 경계와 Service 타입, NetworkPolicy 기본 동작 등 시험 단골 포인트를 함께 짚습니다.