"kubeadm init" falla al configurar clústeres de alta disponibilidad

"kubeadm init" falla al configurar clústeres de alta disponibilidad

Intento configurar una configuración de nodo multimaestro haproxy para Kubernetes, como se describe en [1]. Mis configuraciones de red son:

  • haproxy = 192.168.1.213
  • maestro0|1|2 = 192.168.1.210|211|212
  • trabajador0|1|2 = 192.168.1.220|221|222 (no es interesante en este momento)

todos los hosts pueden conectarse entre sí (el DNS se resuelve para cada nodo). Cada nodo ejecuta Ubuntu 18.04.3 (LTS). Docker está instalado como

  • docker.io/bionic-updates,bionic-security,now 18.09.7-0ubuntu1~18.04.4 amd64 [instalado]

Los paquetes de Kubernetes actualmente instalados son

  • kubeadm/kubernetes-xenial, ahora 1.16.3-00 amd64 [instalado]
  • kubectl/kubernetes-xenial, ahora 1.16.3-00 amd64 [instalado]
  • kubelet/kubernetes-xenial, ahora 1.16.3-00 amd64 [instalado, automático]
  • kubernetes-cni/kubernetes-xenial, ahora 0.7.5-00 amd64 [instalado, automático]

utilizando un repositorio adicional como se describe en [2] (sé que lo instalé bionicen mis máquinas virtuales, pero el repositorio "más nuevo" disponible todavía está disponible xenial).

Mi haproxy está instalado a haproxy/bionic,now 2.0.9-1ppa1~bionic amd64 [installed]partir de [3] repositorio.

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

Mientras intentaba configurar mi primer plano de control, ejecuté kubeadm init --control-plane-endpoint "haproxy.my.lan:6443" --upload-certs -v=6como se describe en [4] da como resultado este error:

Error writing Crisocket information for the control-plane node

inicio de sesión completo [5]. Estoy bastante perdido si hay un error en mi configuración de haproxy o si puede haber algún fallo en Docker o en Kubernetes.

Mi /etc/docker/daemon.jsonaspecto es este:

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

Respuesta1

Si bien no pude encontrar una solución decente y creó un problema en el proyecto "kubeadm" original en github, consulte aquí:https://github.com/kubernetes/kubeadm/issues/1930.

Dado que la "clasificación" sugerida en el problema no era factible (Ubuntu está prácticamente "configurado") para mí, terminé configurando otra distribución de Docker, como se describe aquí:https://docs.docker.com/install/linux/docker-ce/ubuntu/, purgando la distribución instalada antes de iniciar la nueva instalación.

Al ejecutar Docker (Comunidad) v19.03.5a través de kubeadm, v1.16.3aparece la siguiente advertencia:

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

Los resultados son bastante buenos, logré configurar mi clúster ha, como se describe en la documentación original.

Entonces, esto puede considerarse como unsolución alterna,NO¡Como solución a mi problema original!

información relacionada