見出し画像

Kubeadmでkubeletの設定を管理

Kubernetes の `kubelet` 用 ConfigMap は 「原本」 のような役割を果たしています。この ConfigMap に設定が記載されていれば、`kubeadm upgrade` コマンドなどで新しい Worker ノードを追加する際に、ConfigMap の内容が `/var/lib/kubelet/config.yaml` に反映されて適用されます。

流れのまとめ

  1. ConfigMap に設定を記載

    • クラスターの `kube-system` ネームスペース内にある `kubelet-config` ConfigMap に `kubelet` の設定を記載します。

    • この ConfigMap はクラスター全体の `kubelet` 設定の「原本」として機能します。

  2. `kubeadm upgrade` コマンドの使用

    • `kubeadm upgrade` や `kubeadm join` コマンドを使って新しい Worker ノードをクラスターに追加する際、`kubeadm` は `kubelet-config` ConfigMap を参照します。

    • この ConfigMap の設定が、新しいノードの `/var/lib/kubelet/config.yaml` に適用されます。

  3. 新しいノードでの設定の反映

    • 新しいノードで `kubelet` が起動する際に、ConfigMap の内容が反映された `/var/lib/kubelet/config.yaml` の設定を読み込みます。

既存ノードへの適用

  • 既存のノードに設定変更を適用する場合も、ConfigMap を更新した後、`kubeadm upgrade node phase kubelet-config` コマンドなどを使うことで、ConfigMap の内容が各ノードの `config.yaml` に適用され、`kubelet` の再起動で新しい設定が反映されます。

まとめ

Kubernetes クラスターの `kubelet` ConfigMap は設定の「原本」であり、新しいノードの追加やクラスター全体の設定変更時に、ConfigMap の内容が各ノードの `kubelet` 設定ファイルに反映される仕組みです。

いいなと思ったら応援しよう!