Static Pod について確認したときのメモ
以下を参考にした
Static Pod って何?
Static Pods are managed directly by the kubelet daemon on a specific node, without the API server observing them. Unlike Pods that are managed by the control plane (for example, a Deployment ); instead, the kubelet watches each static Pod (and restarts it if it crashes).
Udemy のユースケースを見ると Master ノードで API Server を Pod として起動する場合などに使うという事が言及されていた。
kubernetes-the-hard-way だと binary を使って systemd による起動のようだが以下のような記事もあり、この辺りどうするかはいくつかの選択肢があるということだと思われる
Running Static Pods in Kubernetes
どうやって Static Pod を作るのか
以下の2つの方法がある
前者は kubelet
起動時の引数もしくは設定ファイルで指定されたフォルダに Pod のマニュフェストを配置することで kubelet
が Pod を自動的に起動させるというもの。
後者はフォルダでははなく、Web 上にマニュフェストファイルを配置し、--manifest-url=<URL>
で URL を指定して利用するというもの。
どのような挙動か
-
kubelet
を起動すると Static Pod が起動される - Pod は
kubectl get pods
でも確認出来る。 -
kubectl deletel pod
をしても Pod は起動し続ける -
docker stop
によってコンテナは停止するが、一定時間経過によってkubelet
によって再度 Pod(コンテナ)は起動する