3

https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/ 嗨,我在学习本教程时遇到了一些麻烦。建议使用 configmap 重新配置 kubelet,但是当我使用“kubectl edit node”修改 kubelet 配置时,虽然输出显示“node ***edited”,但没有任何变化,并且节点中没有显示 ConfigOk 状态地位。更多信息,configmap,相应的角色和角色绑定都可以成功创建。有什么我遗漏的或者本教程需要更新的吗?我已经尝试了很多次,它卡在了节点开始使用新配置步骤的观察中。我想知道是否需要将节点设置到系统中:节点组或我错过了什么?谢谢!

4

1 回答 1

2

对于 Kubeadm 提出的节点分支,动态配置 - https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/目前不起作用(v1.17.0)

另请参阅 https://github.com/kubernetes/kubernetes/issues/67580

有一个选项可以通过 kubeadm 启用它

kubeadm alpha kubelet config enable-dynamic --node-name azuretest-2 --kubelet-version 1.17.0
[kubelet] Enabling Dynamic Kubelet Config for Node "azuretest-2"; config sourced from ConfigMap "kubelet-config-1.17" in namespace kube-system
[kubelet] WARNING: The Dynamic Kubelet Config feature is beta, but off by default. It hasn't been well-tested yet at this stage, use with caution.

但是,这不起作用;即使在设置了这个并遵循

kubectl edit node ${NODE_NAME}

....

spec:
  configSource:
    configMap:
      kubeletConfigKey: kubelet
      name: my-node-config-dtghm9gbd2
      namespace: kube-system
[centos@azuretest-1 ~]$ kubectl get no ${NODE_NAME} -o json | jq '.status.config'
null

什么有效 - 在所有工作节点中手动编辑添加您要编辑的配置 ( https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ )

[root@azuretest-2 ~]# cat /var/lib/kubelet/kubeadm-flags.env 
KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.1 --container-runtime=remote --container-runtime-endpoint=/var/run/containerd/containerd.sock --resolv-conf=/etc/resolv.conf --max-pods=700"
systemctl daemon-reload
systemctl restart kubelet  
于 2020-02-27T03:54:11.643 回答