无法使用 master/worker IP 连接到 k8s 集群

Unable to connect to k8s cluster using master/worker IP

我正在尝试安装一个具有一个主节点和两个工作节点的 Kubernetes 集群。

我为此 运行 在 Ubuntu 21.10 获得了 3 个虚拟机。在master节点,我安装了kubeadm:1.21.4kubectl:1.21.4kubelet:1.21.4docker-ce:20.4.

我按照this guide安装了集群。唯一的区别是在我的 init 命令中我没有提到 --control-plane-endpoint。我使用 calico CNI v3.19.1 和 docker 作为 CRI 运行时。

安装完集群后,我部署了minio pod并将其暴露为一个NodePort。 pod 部署在工作节点 (10.72.12.52) 中,我的主节点 IP 是 10.72.12.51)。 在前两个小时,我可以通过所有三个 IP(10.72.12.51:3098110.72.12.52:3098110.72.13.53:30981)访问登录页面。然而,两个小时后,我无法通过 10.72.12.51:3098110.72.13.53:30981 访问该服务。现在我只能从它所在的节点访问服务 运行 (10.72.12.52).

我已禁用防火墙并在 /etc/NetworkManager/conf.d 中添加了 calico.conf 文件,内容如下:

[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico

我在设置中遗漏了什么可能会导致此问题?

这是为了提高知名度而发布的社区 Wiki 答案。随意扩展它。

如@AbhinavSharma 所述,通过从 Calico 切换到 Flannel CNI 解决了该问题。

可以找到有关 Flannel 本身的更多信息 here