본문으로 건너뛰기

CKA

"CKA"의 모든 글.

  • CKA 치트 시트

    CKA v1.35 커리큘럼 도메인별 kubeadm·etcdctl·systemctl·crictl·kubectl 명령어와 최소 YAML, 시험 중 열어 볼 kubernetes.io 문서 위치 정리.

  • control plane 컴포넌트(kube-apiserver, etcd, scheduler, controller-manager)와 node 컴포넌트(kubelet, kube-proxy, container runtime)가 서로 어떻게 연결되는지, static Pod와 /etc/kubernetes 아래 파일들을 kubeadm 클러스터에서 직접 확인하며 정리했습니다.

  • 노드 준비(swap, sysctl, containerd cgroup driver)부터 kubeadm init/join, CNI 설치, 그리고 kube-vip로 묶은 stacked etcd HA control plane까지 VM 3대에서 직접 실행하며 정리했습니다.

  • version skew 규칙, kubeadm으로 1.34에서 1.35로 올리는 순서와 drain/uncordon, etcdctl·etcdutl로 하는 etcd 백업과 복원, kubeadm 인증서 확인과 갱신을 VM 클러스터에서 직접 실행하며 정리했습니다.

  • Kubernetes에 User 객체가 없다는 것에서 시작해, CertificateSigningRequest로 사용자 인증서를 발급하고 kubeconfig에 넣는 과정, ClusterRole을 RoleBinding과 ClusterRoleBinding에 붙였을 때의 차이, aggregated ClusterRole과 기본 ClusterRole을 kubeadm 클러스터에서 확인했습니다.

  • kubelet과 container runtime 사이의 CRI, Pod 네트워크를 붙이는 CNI, 스토리지를 붙이는 CSI가 노드의 어디에 설정되어 있는지 확인하고, Helm과 Kustomize로 클러스터 컴포넌트를 설치하고, Operator가 CRD로 컴포넌트를 관리하는 방식을 kubeadm 클러스터에서 정리했습니다.

  • nodeName, nodeSelector, node affinity, taint와 toleration, Pod anti-affinity, topology spread constraint, PriorityClass와 preemption을 worker 2대짜리 kubeadm 클러스터에서 직접 배치해 보며 정리했습니다.

  • metrics-server가 HPA에 CPU 사용량을 주는 흐름, kubectl autoscale과 autoscaling/v2 HPA, 부하를 걸었을 때 늘어나고 부하를 뺐을 때 5분 뒤 줄어드는 과정, VPA와의 차이를 kubeadm 클러스터에서 정리했습니다.

  • Kubernetes 네트워크 모델, 노드 사이 Pod 통신, kube-proxy가 Service를 iptables 규칙으로 바꾸는 모습, NodePort와 LoadBalancer, CoreDNS의 Corefile 수정과 Pod dnsPolicy를 kubeadm + Calico 클러스터에서 직접 확인했습니다.

  • GatewayClass, Gateway, HTTPRoute의 역할 분리, host·path·header 매칭과 가중치 분할, 다른 namespace의 Route와 backend를 허용하는 allowedRoutes와 ReferenceGrant, 그리고 Ingress와의 차이를 NGINX Gateway Fabric과 ingress-nginx를 설치한 kubeadm 클러스터에서 확인했습니다.