微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kubeadm join:创建具有多个主节点的 HA 集群时失败

如何解决Kubeadm join:创建具有多个主节点的 HA 集群时失败

我有 5 Vm in my GCP,其中三个应该是 master1,master2,master3,另外两个是工作节点 (worker1 & worker 2)。我创建了一个 TCP Loadbalancer(LB) 来为主节点启用负载平衡。我在 LB 中有两个部分:

i)frontend ii)backend

在后端,我在那里定义了所有主 ip。在前端,我生成一个静态公共 ip 和给定的端口 6443 as LB port

在 master1 中,我成功地运行了 kubeadm init 命令,如下所示:

kubeadm init --control-plane-endpoint="<LB_IP>:6443" --apiserver-advertise-address=10.128.0.2 --pod-network-cidr=10.244.0.0/16

其中 10.128.0.2 是 master1 内部 ip & 10.244.0.0/16 是 kube-flannel 的网络 cidr。

kubeadm init 运行成功并给出两个 kubeadm join 命令,一个用于加入新的控制平面,另一个用于加入新的工作节点。

You can Now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:

  kubeadm join LB_IP:6443 --token znnlha.6Gfn1vlkunwpz36b \
    --discovery-token-ca-cert-hash sha256:dc8834a2a5b4ada38a1ab9831e4cae67e9d64cb585458a194018f3ba5a82ac4U \
    --control-plane 

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join LB_IP:6443 --token znnlha.6sfn1vlkunwpz36A \
    --discovery-token-ca-cert-hash sha256:dc8834a2a5b4ada38a1ab9831e4cae68e9d64cb585458a194018f3ba5a82ac4e 

我没有使用 --upload-certs 将证书从一个控制平面传输到另一个控制平面。我是手动做的。

但是当我运行上面的 kubeadm join 命令来添加一个新的控制平面时,在我的其他主节点之一上,比如说 master2,我收到如下错误

[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
error execution phase preflight: unable to fetch the kubeadm-config ConfigMap: Failed to get config map: Get "https://LB_IP:6443/api/v1/namespaces/kube-system/configmaps/kubeadm-config?timeout=10s": dial tcp LB_IP:6443: connect: connection refused

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。