“kubeadm init” falha ao configurar clusters altamente disponíveis

“kubeadm init” falha ao configurar clusters altamente disponíveis

Tento configurar uma configuração de nó multimestre haproxy para Kubernetes, conforme descrito em [1]. Minhas configurações de rede são:

  • haproxy = 192.168.1.213
  • mestre0|1|2 = 192.168.1.210|211|212
  • trabalhador0|1|2 = 192.168.1.220|221|222 (não é interessante neste momento)

todos os hosts são capazes de se conectar entre si (o DNS é resolvido para cada nó). Cada nó está executando o Ubuntu 18.04.3 (LTS). Docker é instalado como

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

Os pacotes Kubernetes atualmente instalados são

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

usando um repositório adicional conforme descrito em [2] (estou ciente de que instalei bionicem minhas VMs, mas o repositório "mais novo" disponível ainda é xenial).

Meu haproxy está instalado a haproxy/bionic,now 2.0.9-1ppa1~bionic amd64 [installed]partir de [3] repositório.

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

Ao tentar configurar meu primeiro plano de controle, executando kubeadm init --control-plane-endpoint "haproxy.my.lan:6443" --upload-certs -v=6conforme descrito em [4] resulta neste erro:

Error writing Crisocket information for the control-plane node

login completo [5]. Estou bastante perdido, se houver um erro na minha configuração do haproxy ou se houver alguma falha no docker ou no próprio kubernetes.

Meu /etc/docker/daemon.jsonfica assim:

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

Responder1

Embora não tenha conseguido encontrar uma solução decente e tenha criado um problema no projeto "kubeadm" original no github, veja aqui:https://github.com/kubernetes/kubeadm/issues/1930.

Como a "triagem" sugerida no problema não era viável (o Ubuntu está praticamente "configurado") para mim, acabei configurando outra distribuição Docker, conforme descrito aqui:https://docs.docker.com/install/linux/docker-ce/ubuntu/, limpando a distribuição instalada antes de iniciar a nova configuração.

Ao executar o Docker (Community) v19.03.5através do kubeadm v1.16.3lança o seguinte aviso:

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

os resultados são muito bons, consegui configurar meu cluster ha, conforme descrito na documentação original.

Então, isso pode ser considerado como umGambiarra,NÃOcomo uma solução para o meu problema original!

informação relacionada