Kubernetes静态pod

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

创建静态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

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值