#컨테이너 오케스트레이션
72 편의 글
Certified Kubernetes Application Developer (CKAD) #7 Workloads 3: Job, CronJob (백오프, 동시성)
Certified Kubernetes Application Developer (CKAD) 시리즈의 일곱 번째 글입니다. 한 번 실행하고 끝나는 배치 작업을 다루는 Job과 그것을 주기적으로 돌리는 CronJob을 실기 관점에서 정리합니다. completions,parallelism,backoffLimit,activeDeadlineSeconds,restartPolicy,ttlSecondsAfterFinished와 CronJob의 schedule,concurrencyPolicy,startingDeadlineSeconds,suspend를 YAML과 kubectl로 직접 만들어 보며 익히겠습니다.
Certified Kubernetes Security Specialist (CKS) #5 ServiceAccount 토큰 관리, API 액세스 제한, 클러스터 업그레이드
Certified Kubernetes Security Specialist (CKS) 시리즈의 다섯 번째 글입니다. Cluster Hardening도메인에서 자주 나오는 ServiceAccount 토큰 관리를 다룹니다. automountServiceAccountToken을 false로 두어 불필요한 토큰 마운트를 차단하는 법, bound ServiceAccount 토큰의 만료와 audience, legacy Secret 토큰과 projected 토큰의 차이를 정리합니다. 이어서 anonymous-auth 비활성화와 kubelet API 보호로 API 액세스 표면을 줄이고, 보안 패치를 위한 클러스터 업그레이드까지 손에 익히겠습니다.
Certified Kubernetes Administrator (CKA) #11 Workloads 2: DaemonSet, StatefulSet, Job, CronJob
Certified Kubernetes Administrator (CKA) 시리즈 열한 번째 글입니다. Deployment가 다루지 못하는 네 가지 워크로드를 정리합니다. 노드마다 하나씩 띄우는 DaemonSet, 안정 ID와 순서,headless Service,volumeClaimTemplates를 갖는 StatefulSet, 완료를 목표로 도는 Job, 그리고 일정에 맞춰 Job을 찍어 내는 CronJob까지 YAML과 kubectl로 손에 익히겠습니다.
Certified Kubernetes Application Developer (CKAD) #6 Workloads 2: DaemonSet, StatefulSet
Certified Kubernetes Application Developer (CKAD) 시리즈 여섯 번째 글입니다. Deployment가 아닌 다른 워크로드 컨트롤러인 DaemonSet과 StatefulSet을 실기 관점에서 다룹니다. 모든 노드에 Pod 하나씩 띄우는 DaemonSet, 안정적 네트워크 ID와 순서 보장이 필요한 StatefulSet을 headless Service와 volumeClaimTemplates 까지 YAML로 만들어 보겠습니다.
Certified Kubernetes Security Specialist (CKS) #4 RBAC 최소 권한 깊이 (Cluster Hardening)
Certified Kubernetes Security Specialist (CKS) 시리즈의 네 번째 글입니다. CKA에서 익힌 RBAC 위에 최소 권한 원칙을 얹어, 과도하게 넓은 Role을 어떻게 찾아내고 좁히는지를 보안 관점에서 깊게 다루겠습니다. wildcard verb/resource의 위험, default ServiceAccount 권한 제거, ClusterRoleBinding 남용을 RoleBinding으로 줄이기, aggregated ClusterRole 주의점, secrets get,pods/exec,escalate,bind,impersonate 같은 위험한 권한을 식별하고, kubectl auth can-i --as로 좁힌 권한을 검증하는 흐름까지 정리하겠습니다.
Certified Kubernetes Administrator (CKA) #10 Workloads 1: Deployment 깊이, ReplicaSet, rolling update/rollback
Certified Kubernetes Administrator (CKA) 시리즈의 열 번째 글입니다. 운영자가 가장 자주 다루는 워크로드인 Deployment를 깊이 들여다봅니다. Deployment→ReplicaSet→Pod 계층과 라벨 selector, kubectl로 생성과 스케일을 처리하는 법, rollingUpdate 전략(maxSurge/maxUnavailable)으로 무중단 업데이트를 보장하는 조건, 그리고 kubectl rollout으로 버전을 추적하고 되돌리는 롤백을 손에 익히겠습니다.
Certified Kubernetes Application Developer (CKAD) #5 Workloads 1: Deployment, ReplicaSet, rolling update와 rollback
Certified Kubernetes Application Developer (CKAD) 시리즈의 다섯 번째 글입니다. 앱 배포의 중심인 Deployment를 명령형으로 생성하고, Deployment,ReplicaSet,Pod의 관계와 스케일을 정리합니다. rollingUpdate의 maxSurge,maxUnavailable의미, kubectl set image로 새 버전을 배포하는 흐름, kubectl rollout으로 상태를 추적하고 실패한 버전을 undo로 되돌리는 롤백 시나리오를 손으로 실습하겠습니다.
Certified Kubernetes Security Specialist (CKS) #3 CIS benchmark (kube-bench), 컴포넌트 보안, Ingress TLS, 바이너리 검증
Certified Kubernetes Security Specialist (CKS) 시리즈 세 번째 글입니다. Cluster Setup도메인의 나머지 절반인 클러스터 자체의 하드닝을 다룹니다. CIS Kubernetes benchmark가 무엇인지, kube-bench로 control plane과 노드를 점검해 PASS/FAIL/WARN 결과를 읽고 remediation을 적용하는 법, apiserver와 kubelet의 위험한 플래그를 안전한 값으로 바꾸는 절차, Ingress에 TLS를 붙이는 방법, 그리고 다운로드한 바이너리를 sha256sum으로 검증하는 흐름까지 명령과 매니페스트로 손에 익히겠습니다.
Certified Kubernetes Administrator (CKA) #9 RBAC: Role/ClusterRole, RoleBinding, ServiceAccount, kubectl auth can-i
Certified Kubernetes Administrator (CKA) 시리즈의 아홉 번째 글입니다. 누가 무엇을 할 수 있는가를 결정하는 RBAC을 운영자 관점에서 깊게 다루겠습니다. Role과 ClusterRole, RoleBinding과 ClusterRoleBinding의 조합 규칙, subjects(User/Group/ServiceAccount)와 rules(apiGroups/resources/verbs)의 구조, kubectl create로 빠르게 만드는 법, kubectl auth can-i와 --as로 권한을 검증하는 법, 그리고 [#8](/ko/posts/cka-8)에서 만든 사용자를 RBAC에 연결하는 흐름까지 정리하겠습니다.
Certified Kubernetes Application Developer (CKAD) #4 컨테이너 이미지: Dockerfile, 멀티스테이지, 시험에서 직접 빌드
Certified Kubernetes Application Developer (CKAD) 시리즈의 네 번째 글입니다. CKAD 일부 작업은 이미지를 직접 빌드해 레지스트리에 푸시한 뒤 Pod에 띄우는 흐름까지 요구합니다. Dockerfile 기본 명령과 레이어 캐시, 멀티스테이지 빌드로 이미지를 경량화하는 법, podman,buildah로 빌드,태그,푸시하는 절차, imagePullPolicy와 latest 태그 함정, 그리고 command,args가 ENTRYPOINT,CMD와 매핑되는 규칙을 실기 예제로 정리하겠습니다.
Certified Kubernetes Security Specialist (CKS) #2 NetworkPolicy 깊이: default deny, ingress/egress (Cluster Setup)
Certified Kubernetes Security Specialist (CKS) 시리즈의 두 번째 글입니다. Cluster Setup도메인의 핵심인 네트워크 격리를 다룹니다. NetworkPolicy가 없을 때의 all-allow 기본 동작부터 podSelector와 policyTypes로 전부 차단하는 default deny 패턴, ingress와 egress를 각각 제한하는 법, default deny egress에서 DNS가 막히는 함정과 53번 포트 허용, namespaceSelector와 podSelector를 조합할 때의 AND,OR 함정까지 YAML과 kubectl로 직접 만들고 검증하겠습니다.
Certified Kubernetes Administrator (CKA) #8 인증서 관리: PKI, kubeconfig, 인증서 갱신
Certified Kubernetes Administrator (CKA) 시리즈 여덟 번째 글입니다. 클러스터의 모든 통신을 떠받치는 TLS 인증서를 다룹니다. /etc/kubernetes/pki의 PKI 구조와 누가 누구를 신뢰하는지, kubeconfig의 clusters/users/contexts 구성, kubeadm certs check-expiration으로 만료를 확인하고 kubeadm certs renew all로 갱신하는 절차, 그리고 CertificateSigningRequest로 사용자 인증서를 발급하는 흐름까지 손에 익히겠습니다.