什么是静态Pod
静态pod是由kubelet进行管理的仅存在于特定的node上的pod
他们不能通过API server进行管理,无法与ReplicationController Deployment 或者DaemonSet 进行关联,并且kubelet无法对他们进行健康检查。
静态Pod的创建:
静态pod可以通过两种方式创建:使用配置文件或HTTP(不演示了!)。
1 通过配置文件创建
由kubeadm安装的集群,对应的kubelet已经配置了静态Pod文件的路径
[root@k8s-master ~]# cat /var/lib/kubelet/config.yaml |grep staticPodPath
staticPodPath: /etc/kubernetes/manifests
vim static-web.yaml
apiVersion: v1
kind: Pod
metadata:
name: static-web
labels:
name: static-web
spec:
containers:
- name: static-web
image: nginx
ports:
- name: web
containerPort: 80
查看pod
[root@k8s-master manifests]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES static-web2-k8s-master 0/1 ContainerCreating 0 11m <none> k8s-master <none> <none>
上面也提到了,他不归任何部署方式来管理,即使我们尝试kubectl delete 命令去删除
kubectl delete pod static-web-k8s-m1 pod "static-web-k8s-m1" deleted $ kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE static-web-k8s-m1 0/1 Pending 0 2s <none> k8s-m1 <none>
可以看出静态pod通过这种方式是没法删除的
除非删除文件:rm -rf /etc/kubernetes/manifests/static-web.yaml