динамическая конфигурация kubelet не работает

https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/ Привет, у меня возникли проблемы с изучением этого руководства. Рекомендуется перенастроить кубелет с помощью configmap, но когда я использую «узел редактирования kubectl» для изменения конфигурации кублета, ничего не изменилось, хотя вывод, показывающий «узел *** отредактирован», и статус ConfigOk не отображался в узле положение дел. Для получения дополнительной информации можно успешно создать конфигурационную карту, соответствующую роль и привязку ролей. Я что-то пропустил или нужно обновить это руководство? Я столько раз пробовал, и он застрял в Обратите внимание на то, что узел начинает использовать шаг новой конфигурации. Я хочу знать, нужно ли устанавливать узел в систему: группа узлов или что-то еще, что я пропустил? Спасибо!


person drinky pool    schedule 07.03.2018    source источник
comment
Я пропустил настройку DynamicKubeletConfig для всех компонентов K8s, просто настройте их, и он отлично работает!   -  person drinky pool    schedule 14.03.2018
comment
Можем ли мы включить DynamicKubeletConfig для работающего кластера, если вы можете здесь помочь.   -  person pannu    schedule 18.01.2019


Ответы (1)


Для узла, созданного 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"
systmectl daemon-reload
systemctl restart kubelet  
person Alex Punnen    schedule 27.02.2020