kubernetes中的静态Pod
更多内容,请查看博客原文:kubernetes中的静态Pod
https://finolo.gy/2020/01/kubernetes中的静态Pod/
平常我们提得比较多的Pod,都是通过Deployment,DaemonSet,StatefulSet等方式创建管理的。今天我们介绍一种特殊的Pod,叫静态(Static) Pod。
什么是静态Pod
静态Pod是由kubelet进行管理,仅存在于特定Node上的Pod,这些Pod是不能通过API Server进行管理的,无法与ReplicationController,Deployment或DaemonSet关联。
静态Pod的创建
通过配置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/
上一篇: Kubernetes对象之Service
推荐阅读
-
kubernetes中的静态Pod
-
[kubernetes]pod的存活探针
-
Kubernetes强制删除一直处于Terminating状态的pod,namespace
-
Kubernetes 配置Pod和容器(十二)configmap的使用
-
Kubernetes强制删除一直处于Terminating状态的pod,namespace
-
Kubernetes-pod的运用
-
Kubernetes:强制删除一直处于Terminating状态的pod,deployment,namespace,server
-
Kubernetes pod的yaml详解
-
利用反射获取Java类中的静态变量名及变量值的简单实例
-
K8S中pod健康状态的检查