kubernetesの静的Pod
2258 ワード
詳細については、ブログの原文:kubernetesの静的Podを参照してください.https://finolo.gy/2020/01/kubernetesの静的Pod/
普段私たちが多く提案しているPodは、Deployment、DaemonSet、StatefulSetなどの方法で管理されています.今日は静的(Static)Podという特殊なPodを紹介します.
静的Podとは
普段私たちが多く提案しているPodは、Deployment、DaemonSet、StatefulSetなどの方法で管理されています.今日は静的(Static)Podという特殊なPodを紹介します.
静的Podとは
静的Podはkubeletによって管理され、特定のノード上にのみ存在するPodであり、これらのPodはAPIサーバによって管理されず、ReplicationController、Deployment、またはDaemonSetに関連付けられない.
静的Podの作成
yamlファイルを構成することで、静的Podを作成できます.クbeletプロセスがあれば、そのノードで静的Podを実行できます.
バイナリで起動したクbeletの場合、クbelet実行時に構成パラメータ--pod-manifest-path=
を追加できます.クbeletは定期的にディレクトリをスキャンし、ディレクトリの下のyamlファイルを適用して静的Podを作成します.
kubeadmでインストールしたクラスタですが、kube-scheduler
という静的Podを例に、どのように動作しているかを見てみましょう.ps -ef | grep kubelet
root 6088 1 3 Dec23 ? 01:45:47 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.1
--config
のディレクトリが/var/lib/kubelet/config.yaml
であることがわかります.このファイルの内容を確認すると、パラメータstaticPodPath
の値が表示されます.cat /var/lib/kubelet/config.yaml | grep staticPodPath
staticPodPath: /etc/kubernetes/manifests
ディレクトリの内容の表示ll /etc/kubernetes/manifests
total 16
-rw------- 1 root root 1928 Dec 12 10:38 etcd.yaml
-rw------- 1 root root 2610 Dec 12 10:38 kube-apiserver.yaml
-rw------- 1 root root 2486 Dec 12 10:38 kube-controller-manager.yaml
-rw------- 1 root root 990 Dec 12 10:38 kube-scheduler.yaml
これにより,kubeletはstaticPodPathをスキャンし,このディレクトリの下にyamlファイルがあることを検出してPodを作成することが分かった.Podを削除する場合は、これらのプロファイルを削除すればいいです.
詳細については、ブログの原文:kubernetesの静的Podを参照してください.https://finolo.gy/2020/01/kubernetesの静的Pod/
yamlファイルを構成することで、静的Podを作成できます.クbeletプロセスがあれば、そのノードで静的Podを実行できます.
バイナリで起動したクbeletの場合、クbelet実行時に構成パラメータ
--pod-manifest-path=
を追加できます.クbeletは定期的にディレクトリをスキャンし、ディレクトリの下のyamlファイルを適用して静的Podを作成します.kubeadmでインストールしたクラスタですが、
kube-scheduler
という静的Podを例に、どのように動作しているかを見てみましょう.ps -ef | grep kubelet
root 6088 1 3 Dec23 ? 01:45:47 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.1
--config
のディレクトリが/var/lib/kubelet/config.yaml
であることがわかります.このファイルの内容を確認すると、パラメータstaticPodPath
の値が表示されます.cat /var/lib/kubelet/config.yaml | grep staticPodPath
staticPodPath: /etc/kubernetes/manifests
ディレクトリの内容の表示
ll /etc/kubernetes/manifests
total 16
-rw------- 1 root root 1928 Dec 12 10:38 etcd.yaml
-rw------- 1 root root 2610 Dec 12 10:38 kube-apiserver.yaml
-rw------- 1 root root 2486 Dec 12 10:38 kube-controller-manager.yaml
-rw------- 1 root root 990 Dec 12 10:38 kube-scheduler.yaml
これにより,kubeletはstaticPodPathをスキャンし,このディレクトリの下にyamlファイルがあることを検出してPodを作成することが分かった.Podを削除する場合は、これらのプロファイルを削除すればいいです.
詳細については、ブログの原文:kubernetesの静的Podを参照してください.https://finolo.gy/2020/01/kubernetesの静的Pod/