Kubernetes
Kubernetes and Cloud Native Associate (KCNA) #5 Cloud Native Architecture (16%): 오토스케일링, 서버리스, 커뮤니티, 오픈 스탠다드
KCNA 시리즈 다섯 번째 글입니다. 클라우드 네이티브 설계 사상(CNCF 정의,자가 치유,회복탄력성)을 짚고, 오토스케일링(HPA,VPA,Cluster Autoscaler,KEDA), 서버리스(Knative,FaaS), CNCF 커뮤니티와 프로젝트 성숙도 단계, 오픈 스탠다드(OCI,CRI,CNI,CSI,OpenTelemetry), 무중단 롤아웃과 불변 인프라까지 정리하겠습니다.
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 기본 동작 등 시험 단골 포인트를 함께 짚습니다.
Certified Kubernetes Administrator (CKA) #19 Networking 2: Ingress, IngressClass, TLS
Certified Kubernetes Administrator (CKA) 시리즈의 열아홉 번째 글입니다. Service만으로는 풀리지 않는 host,path 기반 라우팅과 TLS 종단을 Ingress로 모으는 방법을 정리하겠습니다. Ingress 규칙(pathType Prefix/Exact, rules/backend, defaultBackend), 여러 컨트롤러를 가르는 IngressClass, Ingress가 동작하려면 반드시 있어야 하는 Ingress Controller, 그리고 Secret을 참조하는 TLS 섹션을 운영 관점에서 다루겠습니다.
Certified Kubernetes Application Developer (CKAD) #14 ServiceAccount와 RBAC (앱 관점)
Certified Kubernetes Application Developer (CKAD) 시리즈 14편입니다. Pod 안에서 도는 앱이 쿠버네티스 API를 호출할 때 어떤 신원으로 인증하고 어떤 권한으로 인가받는지를 ServiceAccount와 RBAC 관점에서 정리합니다. SA 토큰 자동 마운트와 끄는 법, Role,RoleBinding으로 권한을 부여하는 법, kubectl auth can-i로 검증하는 법을 손에 익히겠습니다.
Certified Kubernetes Security Specialist (CKS) #12 Pod-to-Pod mTLS: Cilium
Certified Kubernetes Security Specialist (CKS) 시리즈의 열두 번째 글입니다. Minimize Microservice Vulnerabilities도메인의 마지막 주제로, Pod 사이 통신이 기본적으로 평문이라는 문제와 전송 중 암호화(encryption in transit)를 다룹니다. Service Mesh(Istio,Linkerd)의 사이드카 mTLS 개념, Cilium의 투명 암호화(WireGuard,IPsec)와 mTLS 방향, NetworkPolicy(L3,L4)와 mTLS(암호화,신원)의 차이, 그리고 CKS 관점에서 in-transit 암호화가 왜 필요한지를 개념 중심으로 정리하겠습니다.
Kubernetes and Cloud Native Associate (KCNA) #3 Kubernetes Fundamentals 2: API, 컨테이너, 스케줄링
쿠버네티스 API의 객체 모델(apiVersion,kind,metadata,spec,status)과 선언형,명령형 방식, 컨테이너 이미지와 런타임, kube-scheduler의 스케줄링 과정(nodeSelector,affinity,taint), 그리고 ConfigMap과 Secret으로 설정을 주입하는 방법을 정리하겠습니다. Domain 1 Kubernetes Fundamentals(46%)의 후반부를 마무리합니다.
Certified Kubernetes Administrator (CKA) #18 Networking 1: Service (ClusterIP/NodePort/LoadBalancer/ExternalName)
Certified Kubernetes Administrator (CKA) 시리즈 18편입니다. Service가 selector로 Pod를 골라 Endpoints를 만들고 kube-proxy가 이를 노드의 규칙으로 구현하는 흐름을 따라가겠습니다. ClusterIP,NodePort,LoadBalancer,ExternalName 네 타입과 port/targetPort/nodePort의 구분, headless Service, k expose, 그리고 Service가 안 될 때 Endpoints로 원인을 추적하는 운영 감각까지 정리하겠습니다.
Certified Kubernetes Application Developer (CKAD) #13 ConfigMap과 Secret 깊이: volume vs env, 자동 갱신
Certified Kubernetes Application Developer (CKAD) 시리즈의 열세 번째 글입니다. 설정과 민감 정보를 코드 밖으로 빼내는 ConfigMap과 Secret을 만들고, env(valueFrom,envFrom)와 volume 마운트로 주입하는 세 가지 방식을 실기 형식으로 다루겠습니다. 특히 env는 Pod 재시작 전까지 바뀌지 않고 volume은 일정 시간 후 자동 갱신되는 차이를 손에 익히겠습니다.
Certified Kubernetes Security Specialist (CKS) #11 격리: gVisor, Kata Containers, RuntimeClass
Certified Kubernetes Security Specialist (CKS) 시리즈의 열한 번째 글입니다. 컨테이너가 호스트 커널을 공유하기 때문에 격리가 약하다는 근본 문제를 짚고, 이를 보완하는 샌드박스 런타임을 정리하겠습니다. 유저 공간 커널로 시스템 콜을 가로채는 gVisor(runsc)와 경량 VM으로 워크로드를 분리하는 Kata Containers의 동작 원리를 비교하고, RuntimeClass로 핸들러를 선언해 Pod의 runtimeClassName으로 적용하는 방법, 보안과 성능,호환성의 트레이드오프, 그리고 시험에서 자주 나오는 RuntimeClass 생성과 Pod 지정 작업까지 직접 만들어 보며 다루겠습니다.