«kubeadm init» не удается настроить кластеры высокой доступности

«kubeadm init» не удается настроить кластеры высокой доступности

Я пытаюсь настроить многомастерную конфигурацию узлов haproxy для Kubernetes, как описано в [1]. Мои сетевые конфигурации следующие:

  • haproxy = 192.168.1.213
  • мастер0|1|2 = 192.168.1.210|211|212
  • worker0|1|2 = 192.168.1.220|221|222 (на данном этапе не интересно)

все хосты могут подключаться друг к другу (DNS разрешен для каждого узла). Каждый узел работает под управлением Ubuntu 18.04.3 (LTS). Docker установлен как

  • docker.io/bionic-updates,bionic-security,теперь 18.09.7-0ubuntu1~18.04.4 amd64 [установлено]

В настоящее время установлены следующие пакеты Kubernetes:

  • kubeadm/kubernetes-xenial,теперь 1.16.3-00 amd64 [установлено]
  • kubectl/kubernetes-xenial,теперь 1.16.3-00 amd64 [установлено]
  • kubelet/kubernetes-xenial,теперь 1.16.3-00 amd64 [установлено,автоматически]
  • kubernetes-cni/kubernetes-xenial,теперь 0.7.5-00 amd64 [установлено,автоматически]

используя дополнительный репозиторий, как описано в [2] (я знаю, что установил bionicна свои виртуальные машины, но «самый новый» доступный репозиторий все еще xenial).

Мой haproxy установлен как haproxy/bionic,now 2.0.9-1ppa1~bionic amd64 [installed][3] репозиторий.

global
    log /dev/log        local0
    log /dev/log        local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

defaults
    log global
    mode http
    retries 2
    timeout connect 3000ms
    timeout client  5000ms
    timeout server  5000ms

frontend kubernetes
    bind        *:6443
    option      tcplog
    mode        tcp
    default_backend kubernetes-master-nodes

backend kubernetes-master-nodes
    mode    tcp
    balance roundrobin
    option  tcp-check
    server  master0 192.168.1.210:6443 check fall 3 rise 2
    server  master1 192.168.1.211:6443 check fall 3 rise 2
    server  master2 192.168.1.212:6443 check fall 3 rise 2

При попытке настроить мою первую плоскость управления, работающую, kubeadm init --control-plane-endpoint "haproxy.my.lan:6443" --upload-certs -v=6как описано в [4] приводит к следующей ошибке:

Error writing Crisocket information for the control-plane node

полный вход в систему [5]. Я совсем запутался: есть ли ошибка в моей конфигурации haproxy или это может быть какой-то сбой в самом docker или kubernetes.

Мой /etc/docker/daemon.jsonвыглядит так:

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

решение1

Не найдя достойного решения и создав проблему в оригинальном проекте «kubeadm» на github, см. здесь:https://github.com/kubernetes/kubeadm/issues/1930.

Поскольку предложенная в проблеме «сортировка» оказалась для меня невыполнимой (Ubuntu уже практически «настроена»), я в итоге настроил другой дистрибутив Docker, как описано здесь:https://docs.docker.com/install/linux/docker-ce/ubuntu/, очистка установленного дистрибутива перед началом новой установки.

При запуске Docker (Community) v19.03.5через kubeadm v1.16.3выдает следующее предупреждение:

[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.5. Latest validated version: 18.09

результаты довольно хорошие, мне удалось настроить свой кластер ha, как описано в оригинальной документации.

Итак, это можно рассматривать какобходной путь,НЕТкак решение моей первоначальной проблемы!

Связанный контент