问题描述
如何在指定的节点上部署静态 Pod。
问题分析
静态 Pod 在指定的节点上由 kubelet 守护进程直接管理,不需要 API 服务器监管。 与由控制面管理的 Pod(例如,Deployment)不同;kubelet 监视每个静态 Pod(在它崩溃之后重新启动)。
问题解决
1.查看默认的 staticPodPath
$ cat /var/lib/kubelet/config.yaml | grep staticPodPath
staticPodPath: /etc/kubernetes/manifests
2.在staticPodPath目录下添加pod yaml文件
apiVersion: v1
kind: Pod
metadata:
name: static-nginx
labels:
role: static-nginx
spec:
containers:
- name: static-nginx
image: nginx
ports:
- name: web
containerPort: 80
protocol: TCP
3.查看pod(默认刷新时间20s)
$ kubectl get pod -A|grep static-nginx
default static-nginx-192.168.0.191 1/1 Running 0 59s
参考链接
[1] https://kubernetes.io/zh/docs/reference/config-api/kubelet-config.v1beta1/
[2] https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kubelet/
[3] https://kubernetes.io/zh/docs/tasks/configure-pod-container/static-pod/
如果您有其他问题,欢迎您联系火山引擎技术支持服务