#쿠버네티스

141 편의 글

Certified Kubernetes Application Developer (CKAD) #7 Workloads 3: Job, CronJob (백오프, 동시성)
9 분 소요

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 액세스 제한, 클러스터 업그레이드
10 분 소요

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 액세스 표면을 줄이고, 보안 패치를 위한 클러스터 업그레이드까지 손에 익히겠습니다.

Admission Controller
11 분 소요

Admission Controller

K8s API 서버가 매니페스트를 etcd에 저장하기 직전 단계에서 검사 · 변형하는 admission의 모델을 다룹니다. Mutating · Validating 두 종류, 빌트인 컨트롤러 (LimitRanger · ResourceQuota · PodSecurity 등), Webhook 메커니즘, 그리고 그 위에 얹힌 두 정책 엔진 OPA Gatekeeper (Rego)와 Kyverno (YAML)의 비교까지 한 사이클로 정리합니다.

Certified Kubernetes Administrator (CKA) #11 Workloads 2: DaemonSet, StatefulSet, Job, CronJob
10 분 소요

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
9 분 소요

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)
10 분 소요

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로 좁힌 권한을 검증하는 흐름까지 정리하겠습니다.

CI/CD 파이프라인
11 분 소요

CI/CD 파이프라인

23장까지 갖춰진 myshop-api는 새 버전이 들어오는 과정에 여전히 사람이 많이 개입합니다. 이번 챕터는 그 과정을 자동화합니다. GitHub Actions에서 OIDC 신뢰로 정적 키 없이 AWS ECR에 컨테이너 이미지를 푸시하고, 매니페스트 repo의 Helm values를 자동 commit 하고, 20장에서 다룬 ArgoCD가 그 변경을 감지해 클러스터로 동기화하는 한 사이클을 정리합니다. PR 승인 게이트, dev / prod 분기, Argo Rollouts 카나리 배포, 이미지 태그 immutability까지 함께 다룹니다.

CNI 깊이
15 분 소요

CNI 깊이

같은 NetworkPolicy 매니페스트가 Calico 위에서는 iptables 룰로, Cilium 위에서는 eBPF 프로그램으로 풀리는 데이터 플레인의 깊이를 다룹니다. K8s 네트워크 모델의 네 조건, CNI 인터페이스의 정체, iptables · IPVS · eBPF 세 데이터 플레인 모델, Calico와 Cilium의 비교, 그리고 CNI 선택의 실전 기준까지 한 사이클로 정리합니다.

CRD와 Operator 패턴
12 분 소요

CRD와 Operator 패턴

K8s API를 사용자 도메인의 객체로 확장하는 두 축을 다룹니다. CustomResourceDefinition으로 새 객체 종류를 정의하고, controller-runtime 기반의 Operator가 1장에서 본 reconcile loop를 그 객체 위에 걸어 K8s의 선언적 모델을 도메인까지 확장합니다. ownerReference · finalizer · status subresource의 세 표준 패턴과 Kubebuilder · Operator SDK의 빌드 도구까지 한 사이클로 정리합니다.

DB 연동 — RDS · External Secrets
13 분 소요

DB 연동 — RDS · External Secrets

22장에서 외부 노출까지 만든 myshop-api는 데이터 저장소가 없는 빈 껍데기입니다. 이번 챕터는 그 빈 곳을 채웁니다. RDS PostgreSQL을 Terraform으로 띄우고, 마스터 비밀번호를 AWS Secrets Manager에 두고, External Secrets Operator로 그 비밀을 K8s Secret으로 자동 동기화하고, IRSA로 정적 자격 증명 없이 권한을 부여하고, PgBouncer로 커넥션 풀을 얹고, 스키마 마이그레이션을 Helm hook 기반 Job 패턴으로 자동화하는 흐름까지 한 사이클로 정리합니다.

docker-compose에서 k8s로
15 분 소요

docker-compose에서 k8s로

부록 A — Docker / docker-compose까지 와 본 독자가 K8s로 옮겨갈 때 막히는 일곱 가지 차이를 한 곳에 정리합니다. docker-compose.yml의 각 키가 K8s의 어떤 리소스에 대응되는지 매핑 표로 정리하고, 작은 web + db의 docker-compose.yml을 K8s 매니페스트로 옮기는 마이그레이션 한 사이클을 풀어내고, kompose 자동 변환 도구의 한계와 그 다음 단계를 짚습니다. 책의 마지막 챕터이지만, Docker까지 와 본 독자에게는 출발점이 됩니다.

EKS 클러스터 셋업
12 분 소요

EKS 클러스터 셋업

AWS EKS 위에 진짜 운영 클러스터를 처음부터 띄우는 흐름을 다룹니다. Terraform으로 VPC · EKS 컨트롤 플레인 · 노드 그룹 · IRSA · 필수 애드온 (VPC CNI · CoreDNS · kube-proxy · EBS CSI)을 한 코드베이스로 선언하고, eksctl의 빠른 셋업 옵션, Karpenter의 노드 오토스케일링, 그리고 첫 점검 · 비용 모델까지 한 사이클로 정리합니다.