gpt4 book ai didi

linux - Kubernetes 无法连接到服务器 : dial tcp x. x.x.x:6443: i/o timeout

转载 作者:行者123 更新时间:2023-12-04 08:46:04 25 4
gpt4 key购买 nike

我正在使用测试 kubenetes 集群(Kubeadm 1 个主节点和 2 个节点设置),我的公共(public) IP 不时更改,当我的公共(public) IP 更改时,我无法连接到集群并且出现以下错误

 Kubernetes Unable to connect to the server: dial tcp x.x.x.x:6443: i/o timeout
我也有始终一致的私有(private) IP 10.10.10.10。
我使用以下命令创建了 Kubernetes 集群
 kubeadm init --control-plane-endpoint 10.10.10.10
但它仍然失败,因为证书已签署到公共(public) IP,下面是错误
 The connection to the server x.x.x.x:6443 was refused - did you specify the right host or port?
有人可以帮助设置 kubeadm,并且应该允许所有 IP 类似于 0.0.0.0 并且我对安全观点很好,因为它是测试设置。或任何参数修复。

最佳答案

@维迪亚已经通过使用静态 IP 地址解决了这个问题,我决定提供一个社区 Wiki 答案只是为了让其他社区成员能更好地看到。
首先,不建议使用频繁更改的主服务器/服务器 IP 地址。
正如我们可以在 GitHub kubernetes/88648 上的讨论中找到的那样- kubeadm没有提供一种简单的方法来处理这个问题。
但是,当 Kubernetes 主节点上的 IP 地址发生变化时,有一些解决方法可以帮助我们。
基于讨论 Changing master IP address ,我准备了一个脚本来重新生成证书并重新初始化主节点。
该脚本可能会有所帮助,但我建议一次运行一个命令(这样会更安全)。
此外,您可能需要根据需要自定义一些步骤:
注意:在下面的示例中,我使用 Docker 作为容器运行时。

root@kmaster:~# cat reinit_master.sh 
#!/bin/bash
set -e

echo "Stopping kubelet and docker"
systemctl stop kubelet docker

echo "Making backup kubernetes data"
mv /etc/kubernetes /etc/kubernetes-backup
mv /var/lib/kubelet /var/lib/kubelet-backup

echo "Restoring certificates"
mkdir /etc/kubernetes
cp -r /etc/kubernetes-backup/pki /etc/kubernetes/
rm /etc/kubernetes/pki/{apiserver.*,etcd/peer.*}

echo "Starting docker"
systemctl start docker


echo "Reinitializing master node"
kubeadm init --ignore-preflight-errors=DirAvailable--var-lib-etcd

echo "Updating kubeconfig file"
cp /etc/kubernetes/admin.conf ~/.kube/config
然后,您需要将工作节点重新加入集群。

关于linux - Kubernetes 无法连接到服务器 : dial tcp x. x.x.x:6443: i/o timeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64312392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com