“kubeadm init”無法設定高可用集群

“kubeadm init”無法設定高可用集群

我嘗試為 Kubernetes 設定 haproxy 多主節點設置,如 [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

雖然無法找到合適的解決方案並在 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 集群,如原始文檔中所述。

所以,這可以被認為是一個解決方法,不是作為我原來問題的解決方案!

相關內容