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