Как бы вы отключили kubelet "вообще"? Я имею в виду, я устанавливаю свой мастер k8s с помощью "kubeadm init", я не устанавливаю и не запускаю "systemctl kubelet start", но мой узел все еще регистрируется и остается как узел "Не готов", поэтому регистрирующая часть все еще здесь.
Если вы настроили кластер kubernetes с использованием kubeadm , необходимо установить kubelets на всех узлах, включая главный поскольку он развертывает подавляющее большинство ключевых компонентов кластера, таких как kube-apiserver
, kube-controller-manager
или kube-scheduler
как Pods
в kube-system
пространстве имен (вы можете перечислить их по kubectl get pods -n kube-system
). Другими словами: вы не можете запустить кластер с kubeadm
, не запустив kubelet
на своем главном узле. Без него невозможно развернуть систему Pods
, формирующую ваш кластер kubernetes . См. Также этот раздел в официальной документации kubernetes.
Что касается Самостоятельное размещение плоскости управления Kubernetes , упомянутой @Ivan, лучше внимательно прочтите ее в официальных документах, чтобы понять как это действительно работает:
kubeadm позволяет экспериментально создать самодостаточный управляющий уровень Kubernetes. Это означает, что ключевые компоненты, такие как сервер API, диспетчер контроллеров и планировщик, работают как модули DaemonSet, настроенные с помощью API Kubernetes, вместо модулей stati c, настроенных в кубеле через файлы stati c.
Это нигде не написано, что вам не нужно kubelet
на master-node
в настоящее время. Напротив, в нем говорится, что в случае использования автономного самолета управления Kubernetes (в настоящее время эксперимент) подход в kubeadm
:
ключевые компоненты, такие как API server
, controller manager
и scheduler
, выполняются как DaemonSet
Pods
, настроенный через API Kubernetes, вместо stati c Pods
, настроенного в kubelet через статические файлы.
Итак, еще раз: в обоих подходах ключевые компоненты кластера выполняются как Pods
, только DaemonSets
настроены через API Kubernetes, но эти все еще Pods
и да, stati c Pods
, сконфигурированные с помощью файлов stati c (что является текущим подходом kubeadm
), все еще нуждаются в kubelet , который может читать эти файлы stati c на мастер-узел и создайте соответствующие Pods
заявленные в них.