【发布时间】:2021-06-01 13:56:22
【问题描述】:
我有一个带有 3 个节点的 K3s (v1.20.4+k3s1) 集群,每个节点有两个接口。默认接口有一个公共 IP,第二个是 10.190.1.0 地址。我安装了带和不带 -flannel-backend=none 选项的 K3s,然后通过“kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml"”部署了 flannel,之前通过 args“--iface=”将 kube-flannel 容器绑定到内部接口。在此设置 kube-flannel pod 获取内部接口的 node-ip,但我无法通过 ICPM 访问其他节点上的 pod。如果我在没有 -iface arg 的情况下部署 flannel,kube-flannel pod 从10.42.0.0 网络。然后我可以到达其他主机的 pod,但流量将通过公共接口路由,我想避免这种情况。有人给我提示吗?
【问题讨论】:
-
您的专用网络中是否启用了
ICMP流量?您是否尝试从一个节点或另一个Pod访问这些Pods?您是否尝试过使用 --node-ip 参数?据我所知,有--flannel-iface 参数,而不是--iface=。 -
你说得对,“--flannel-iface=" 有效。谢谢!
-
太好了 :) 所以使用
--flannel-iface=解决了您的问题,现在一切都按预期工作了? -
完全正确 :) 现在我可以使用:
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.20.4+k3s1" INSTALL_K3S_EXEC="server --disable=traefik --flannel-iface=ens10 --bind-address 10.190.1.5 --advertise-address 10.190.1.5 --datastore-endpoint etcd --node-name kube-master-01 --node-ip 10.190.1.5 --node-external-ip 10.190.1.30 --cluster-init" sh -s -安装第一个主节点,而 ens10 是第二个接口
标签: kubernetes networking interface flannel k3s