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 クラスタで確認しました。
kubelet と containerd を止め、kubelet の設定と static Pod manifest をわざと壊したうえで、kubectl、systemctl、journalctl、crictl、/var/log/pods で原因を探す過程を kubeadm クラスタで記録しました。
kubectl top でリソース使用量を見て、kubectl logs の container の選択・以前の container・stdout/stderr とノードのログファイルの場所を確認し、Service の selector・targetPort・readiness・CoreDNS・NetworkPolicy を 1 つずつ壊して症状を比べました。