Невозможно найти подробную информацию о CGroups в файле 10-kubeadm.conf

Я пытался настроить кластер Kubernetes на основе документации. https://kubernetes.io/docs/tasks/tools/install-kubeadm/ < / а>

Я устанавливаю kubeadm, запустив:

 yum install -y kubeadm

Я собирался обновить файл 10-kubeadm.conf, как указано в документе. Но файл выглядит совершенно иначе, он был примерно таким: https://github.com/kubernetes/kubernetes/blob/master/build/rpms/10-kubeadm.conf.

Примечание. Этот дропин работает только с kubeadm и kubelet v1.11 +

[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"

Это файл, который kubeadm init и kubeadm join генерирует во время выполнения, динамически заполняя переменную KUBELET_KUBEADM_ARGS.

EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env

Это файл, который пользователь может использовать для переопределения аргументов kubelet в крайнем случае. Желательно, чтобы пользователь использовал

Вместо этого объект .NodeRegistration.KubeletExtraArgs в файлах конфигурации. KUBELET_EXTRA_ARGS должен быть получен из этого файла.

EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS

У него нет переменной драйвера Cgroup. Итак, как в этом случае мы должны продолжить установку.


person Balakumar Ezhilmaran    schedule 28.06.2018    source источник


Ответы (1)


Прежде всего убедитесь, что помимо kubeadm вы также установили kubelet и kubectl. Если нет, установите их.

yum install -y kubelet kubectl

Убедитесь, что Docker запущен с драйвером cgroup systemd.

docker info | grep -i cgroup

Измените ваш 10-kubeadm.conf файл и добавьте новую строку.

Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"

Кроме того, вы должны добавить переменную $KUBELET_CGROUP_ARGS в раздел ExecStart.

И в качестве последнего шага перезагрузите конфигурацию systemd менеджера и перезапустите службу kubelet, как описано здесь.

systemctl daemon-reload && service kubelet restart

ОБНОВЛЕНИЕ

Начиная с версии 1.11 Kubernetes автоматически определяет правильный cgroup драйвер, и вы можете просто пропустить шаг о настройках cgroup драйвера. Это из журнала изменений:

kubeadm теперь обнаруживает драйвер Docker cgroup и запускает kubelet с подходящим драйвером. Это устраняет частую ошибку, с которой сталкиваются новые пользователи, когда драйвер Docker cgroup не совпадает с драйвером, установленным для kubelet, из-за того, что разные дистрибутивы Linux устанавливают разные драйверы cgroup для Docker, что затрудняет запуск kubelet должным образом. (# 64347, @ neolit123)

person Nick_Kh    schedule 29.06.2018
comment
После установки kubeadm вы обычно найдете много содержимого в 10-kubadam. Но на этот раз я увидел только это ... Добавлено в редактирование - person Balakumar Ezhilmaran; 30.06.2018
comment
kubeadm теперь обнаруживает драйвер контрольной группы Docker и запускает kubelet с подходящим драйвером - ›Не в CentOS 7 - person Illidan; 30.07.2018