『Kubernetes Certified Administrator (CKA) with Practice Tests』記録 - セクション10~12
引き続き、『Kubernetes Certified Administrator (CKA) with Practice Tests』を進めていく。
今回は Section 10: Design and Install a Kubernetes Cluster と Section 11: Install "Kubernetes the kubeadm way"。
Section 10: Design and Install a Kubernetes Cluster
- Design a Kubernetes Cluster
- Choosing Kubernetes Infrastructure
- Configure High Availability
- Control plane が 1 台のみで構成されていると、そのマシンが壊れたときに困るので、HA 構成を取ろう
- HA 構成の Control plane では、複数の Master Node がそれぞれ同じコンポーネントを持つ
- API Server もそれぞれに居るため、API call を振り分けるため前段に LB を配置することが望ましい(nginx, HA proxy, etc...など)
- Controller Manager, Scheduler も同様だが、こちらは各 Node で走っていると意図しない Pod の作成などが行われてしまうので、1 つだけ Active にし、他は Standby にする。
- これは leader-election process によって制御される
- kube-controller-manager/kube-scheduler の引数に
--leader-elect true
を指定すると、kube-controller-manager Endpoint のリース取得有無でリーダーが選出される --leader-elect-lease-duration duration
: リース期間--leader-elect-renew-deadline duration
: リース更新にかかる時間の最大値--leader-elect-retry-period duration
: リーダーシップの獲得を試みる間隔- https://speakerdeck.com/daikurosawa/leader-election-in-kubernetes-number-k8sjp
- ETCD
- ETCD の HA 構成は2種類ある
- Stacked Topology: Master Node 内に ETCD を構築する
- pros: Node が少なくすむ、管理が楽
- cons: Node のトラブル時に etcd も影響を受ける
- External ETCD Topology: 異なるノードに ETCD を分離して、独立に構築する
- pros: リスクを低減する
- cons: セットアップがつらい、Node が増える
- kube-apiserver が見に行く etcd のエンドポイントは
--etcd-servers
で指定できる
- Stacked Topology: Master Node 内に ETCD を構築する
- ETCD の HA 構成は2種類ある
- ETCD in HA
- Important Update: Kubernetes the Hard Way
- Hard Way もやるといいよ的な話。
Section 11: Install "Kubernetes the kubeadm way"
- Introduction to Deployment with Kubeadm
- Deploy with Kubeadm - Provision VMs with Vagrant
- Demo - Deployment with Kubeadm
- やってることは以前 Qiita に書いたことと同様だった。
- Practice Test - Deploy a Kubernetes Cluster using Kubeadm
- 手順としては以前やった通りだが、1.22 での挙動でちょっと詰まったり、Practice Test 用の環境が 1.22 に即してなかったりでいろいろ詰まった。
- このへんの Cgroup Driver のミスマッチなど。
Section 12: End to End Tests on a Kubernetes Cluster
この範囲は CKA の範囲から外されたので講座はなし。