k8s / kubeadm: объединение кластера длится вечно - PullRequest
5 голосов
/ 29 марта 2019

Я настроил свой главный узел и пытаюсь присоединиться к рабочему узлу следующим образом:

kubeadm join 192.168.30.1:6443 --token 3czfua.os565d6l3ggpagw7 --discovery-token-ca-cert-hash sha256:3a94ce61080c71d319dbfe3ce69b555027bfe20f4dbe21a9779fd902421b1a63

Однако команда навсегда зависает в следующем состоянии:

[preflight] Running pre-flight checks
    [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/

Поскольку это всего лишь предупреждение, почему оно на самом деле терпит неудачу?

edit : я заметил следующее в моем /var/log/syslog

Mar 29 15:03:15 ubuntu-xenial kubelet[9626]: F0329 15:03:15.353432    9626 server.go:193] failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file "/var/lib/kubelet/config.yaml", error: open /var/lib/kubelet/config.yaml: no such file or directory
Mar 29 15:03:15 ubuntu-xenial systemd[1]: kubelet.service: Main process exited, code=exited, status=255/n/a
Mar 29 15:03:15 ubuntu-xenial systemd[1]: kubelet.service: Unit entered failed state.

Ответы [ 3 ]

1 голос
/ 01 апреля 2019

Проблема была связана с kubeadm не установкой сетевого CNI-совместимого решения из коробки;

Следовательно, без этого шага узлы / мастера kubernetes не могут установить какую-либо форму связи;

Следующая задача решает проблему:

- name: kubernetes.yml --> Install Flannel
  shell: kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
  become: yes
  environment:
    KUBECONFIG: "/etc/kubernetes/admin.conf"
  when: inventory_hostname in (groups['masters'] | last)
0 голосов
/ 02 апреля 2019

У меня была куча сценариев развертывания k8s, которые недавно сломались с тем же сообщением об ошибке ... похоже, докер изменил установку. Попробуйте это -

предыдущая установка: apt-get isntall docker-ce

обновлена ​​установка: apt-get установить docker-ce docker-ce-cli containerd.io

0 голосов
/ 29 марта 2019

Я получил ту же ошибку на CentOS 7, но в моем случае команда соединения работала без проблем, так что это действительно было просто предупреждение.

>  [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker
> cgroup driver. The recommended driver is "systemd". Please follow the
> guide at https://kubernetes.io/docs/setup/cri/ [preflight] Reading
> configuration from the cluster... [preflight] FYI: You can look at
> this config file with 'kubectl -n kube-system get cm kubeadm-config
> -oyaml' [kubelet-start] Downloading configuration for the kubelet from the "kubelet-config-1.14" ConfigMap in the kube-system namespace

Как упоминается в официальной документации, есть две общие проблемы, которые приводят к зависанию init (я думаю, это также относится и к команде соединения):

конфигурация драйвера cgroup по умолчаниюдля кублета отличается от того, что используется докером.Проверьте файл системного журнала (например, / var / log / message) или проверьте вывод из journalctl -u kubelet.Если вы видите что-то вроде следующего:

Сначала попробуйте выполнить шаги из официальной документации , и если это не сработает, пожалуйста, предоставьте дополнительную информацию, чтобы мы могли устранить неполадки в случае необходимости.

...