创建静态pod
正常情况下,pod在master上统一管理、指定、分配。静态pod是指不是由master创建启动,在节点上只要启动kubelet,就会自动创建pod。
- 在worker节点上编辑kubelet启动的参数文件,在Environment最后添加
--pod-manifest-path=/etc/kubernetes/kubelet.d
systemctl status kubelet
vi /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf


- 如果该目录不存在,则创建该目录
mkdir /etc/kubernetes/kubelet.d
- 重启服务
systemctl daemon-reload
systemctl restart kubelet
- 在该worker节点上,在
/etc/kubernetes/kubelet.d下创建test.yaml文件
apiVersion: v1
kind: Pod
metadata:
namespace: default
labels:
role: myrole
name: static-pod
spec:
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: c1
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}

- 在master上查看pod
kubectl get pod

注意:将该YAML文件从该目录移走或删除则pod被删除。
master上静态pod的指定方式
- 在master上查看文件
/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf,可以看到Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml,该文件也定义了静态pod的路径
grep static /var/lib/kubelet/config.yaml

- 其实master的组件。如apiserver,kube-proxy等静态配置文件都是放在该目录里的,如果路径修改错误,则k8s集群将会启动失败
ls -l /etc/kubernetes/manifests

文章讲述了如何在Kubernetes环境中创建和管理静态Pod。静态Pod是不在master上统一管理的Pod,它们在节点启动时由kubelet自动创建。要创建静态Pod,需要编辑kubelet的启动参数,指定--pod-manifest-path,并在相应目录下放置yaml文件来定义Pod的规格。当yaml文件被移除或修改时,相应的Pod也会被删除。此外,master上的静态Pod配置通常在/var/lib/kubelet/config.yaml中定义。


507

被折叠的 条评论
为什么被折叠?



