序:

kubelet通过 kubelet --pod-manifest-path=<路径>来启动kubelet进程,kubelet 定期的去扫描这个目录,根据这个目录下出现或消失的 YAML/JSON 文件来创建或删除静态 pod。

1、查看kubelet配置文件

  1. [root@k8snode-1 manifests]# systemctl status kubelet
  2. kubelet.service - kubelet: The Kubernetes Node Agent
  3. Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled)
  4. Drop-In: /usr/lib/systemd/system/kubelet.service.d
  5. └─10-kubeadm.conf
  6. Active: active (running) since 2020-10-22 14:39:50 CST; 1h 15min ago
  7. Docs: https://kubernetes.io/docs/
  8. Main PID: 9538 (kubelet)
  9. CGroup: /system.slice/kubelet.service
  10. └─9538 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernete...
  11. 10 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.826 [INFO][64807] ipam.go 413: Block '192.168.62.128/26...ode-1"
  12. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.833 [INFO][64807] ipam.go 569: Auto-assigned 1 out of 1...ode-1"
  13. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.833 [INFO][64807] ipam_plugin.go 235: Calico CNI IPAM assigne...
  14. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.833 [INFO][64807] ipam_plugin.go 261: IPAM Result ContainerID...
  15. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.838 [INFO][64802] k8s.go 358: Populated endpoint Contai...oint{T
  16. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.838 [INFO][64802] k8s.go 359: Calico CNI using IPs: [19...-eth0"
  17. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.838 [INFO][64802] network_linux.go 76: Setting the host side ...
  18. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.840 [INFO][64802] network_linux.go 400: Disabling IPv4 ...-eth0"
  19. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.855 [INFO][64802] k8s.go 385: Added Mac, interface name...--k8sn
  20. 10月 22 15:52:37 k8snode-1 kubelet[9538]: 2020-10-22 15:52:37.882 [INFO][64802] k8s.go 417: Wrote updated endpoint to...-eth0"
  21. Hint: Some lines were ellipsized, use -l to show in full.

2、找到Drop-In中的环境变量添加如下一行

  1. Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"

3、重启kubelet

  1. systemctl daemon-reload
  2. systemctl status kubelet

静态 Pod 文件的路径已经配置完成,那就是/etc/kubernetes/manifests,我们只需要在该目录下面创建一个标准的 Pod 的 JSON 或者 YAML 文件即可。