赞
踩
更多内容,请查看博客原文:kubernetes中的静态Pod
https://finolo.gy/2020/01/kubernetes中的静态Pod/
平常我们提得比较多的Pod,都是通过Deployment,DaemonSet,StatefulSet等方式创建管理的。今天我们介绍一种特殊的Pod,叫静态(Static) Pod。
静态Pod是由kubelet进行管理,仅存在于特定Node上的Pod,这些Pod是不能通过API Server进行管理的,无法与ReplicationController,Deployment或DaemonSet关联。
通过配置yaml文件可以创建静态Pod。只要有kubelet进程,就可以在所在节点运行静态Pod。
如果通过二进制启动的kubelet,可以在kubelet执行时添加配置参数--pod-manifest-path=<yaml directory>
,kubelet会定期扫描目录,应用目录下面的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/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。