“kubeadm init” 设置高可用性集群失败

“kubeadm init” 设置高可用性集群失败

我尝试为 Kubernetes 设置 haproxy 的多主节点设置,如 [1我的网络配置是:

  • haproxy = 192.168.1.213
  • master0|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

虽然无法找到合适的解决方案并在 github 上的原始“kubeadm”项目中创建了一个问题,但请参见此处:https://github.com/kubernetes/kubeadm/issues/1930

由于问题中建议的“分类”对我来说不可行(Ubuntu 几乎“设置”了),我最终设置了另一个 Docker 发行版,如下所述:https://docs.docker.com/install/linux/docker-ce/ubuntu/,在开始新的设置之前清除已安装的分发版。

v19.03.5通过 kubeadm运行 Docker(社区)时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 集群,如原始文档中所述。

因此,这可以被视为解决方法不是作为我原始问题的解决方案!

相关内容