1

几天前我刚开始尝试 K8S,尝试学习 K8S,特别强调网络、服务网格等。

我在装有 Centos 7 和 K8S 的虚拟机上运行 2 个工作节点和 1 个主节点,并安装了 kubeadm。

Flannel 的默认 CNI。安装没问题,除了网络之外的一切都正常。我可以部署容器等,所以很多控制平面都在工作。

但是,网络无法正常工作,即使是同一工作节点中的容器到容器。我检查了所有常见的嫌疑人,veth,IP,MAC,单个工作人员的网桥,一切似乎都检查了……例如,正确网桥上的 MAC,即 cni0,IP 地址分配等。即使从busybox ping 到busybox ,我会看到 ARP 缓存被填充,但 ping 仍然无法正常工作....禁用所有 FW,启用 IP 转发等。不是 IPtables 专家,但看起来还不错.....登录到工作节点 shell 时我也可以pingbusybox 容器,但它们无法相互 ping 通......

我现在有一个问题,为什么即使安装了 flannel docker0 桥仍然存在,我可以删除它还是有一些与之相关的依赖项?我没有注意到容器的 veth 显示连接到 docker0 网桥,但 dockerbride0 关闭了……但是我关注了这个网站,它显示了一种不同的验证方式并显示连接到 cni0 的 veth,这非常令人困惑和令人沮丧。 ……

我放弃了 Flannel,因为我只是用 Flannel 来做实验,并决定尝试 Calico....

我遵循了 Calico 网站的安装程序……关于法兰绒的整理程序并不完全清楚,不知道这在哪里记录?……这是它变得越来越糟的地方……

我开始在 calico 容器和 coredns 上遇到崩溃循环,卡住创建,报告 calico 上的活力问题......这就是我被困的地方............并且需要一些帮助......

我已经在网上阅读并尝试了很多东西,并且可能已经解决了一些问题,因为可能有很多问题在起作用,但非常感谢任何帮助....

=== 安装信息和一些输出...

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

一些问题...

  1. 为 coredns 创建的容器......这是否取决于 Calico 的成功安装......问题是否相关......或者 coredns 安装工作是否应该独立于 CNI 安装?
4

1 回答 1

0

为 coredns 创建的容器......这取决于 Calico 的成功安装......问题是否相关......或者 coredns 安装工作应该独立于 CNI 安装吗?

是的。您需要安装 CNI 才能使 coredns 正常工作。

当您使用 kubeadm 设置集群时,有一个名为 的标志--pod-network-cidr,取决于您打算使用的 CNI,您需要使用此标志指定范围。

例如,默认情况下,Calico 使用 range192.168.0.0/16而 Flannel 使用 range 10.244.0.0/16

我有一个如何使用 kubeadm 设置集群的指南,也许对你有帮助。

请注意,如果您想在不删除整个集群的情况下替换 CNI,则需要采取额外的步骤来“清除”旧 CNI 中的防火墙规则。

例如,请参阅此处如何将法兰绒替换为印花布。

在这里如何从法兰绒迁移到印花布。

于 2020-05-27T09:25:39.650 回答