kubernetes - 当节点具有多个网络接口时无法在 Windows 节点上安装 Flannel 网络

kubernetes - 当节点具有多个网络接口时无法在 Windows 节点上安装 Flannel 网络

我有一个混合 k8s 集群 v1.23.2 (

  • Linux VM Centos 7 上的控制平面(在 ESXi 主机上运行,​​我们称之为 SRV1)

和一个

  • 另一台物理服务器上的 Windows Server 2019 节点( SRV2 )

  • SRV1 和 SRV2 都通过网线直接连接

Linux 和 Windows 端点都有 2 个网络接口(我想要运行 k8s 集群的是192.168.100.0/24并且没有互联网访问)。第二个网络有互联网访问(用于在部署集群时检索所有 k8s 所需的软件,并具有 IP 地址10.65.11.0/24

我初始化k8s没有问题:

[root@plane ~]# kubectl 集群信息 Kubernetes 控制平面正在运行https://192.168.100.11:6443 CoreDNS 运行于https://192.168.100.11:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

我还使用以下方法在 Windows 2019 服务器节点上成功部署了 k8shttps://github.com/kubernetes-sigs/sig-windows-tools/blob/1f4abb21ff35d68b1b2c5d49eefb2daa05bc98d8/kubeadm/flannel/flannel-overlay.yml 但是,flannel 使用的是具有互联网访问权限的网络接口(IP 地址为 10.65.11.7),而不是非互联网接口的 192.168.100.1。这基本上使 k8s pods 网络变得无用,因为我无法从在 windows 节点上启动的 pod ping 在 linux 控制平面上启动的 pod(反之亦然)

这是最后一个问题,当我尝试在这里更改接口名称时 ->https://github.com/kubernetes-sigs/sig-windows-tools/blob/1f4abb21ff35d68b1b2c5d49eefb2daa05bc98d8/kubeadm/flannel/flannel-overlay.yml#L34 强制 flannel 使用非互联网接口-> 我在 flannel-windows-pod 中收到错误:

[root@plane ~]# kubectl 日志-n kube-系统 kube-flannel-ds-windows-amd64-qt895

为 Docker 配置 CNI

ConvertFrom-Json:C:\etc\kube-flannel-windows\run.ps1:18 行 | 18 |

$networkJson = wins cli net get | convertfrom-json

 |                                    ~~~~~~~~~~~~~~~~
 | Conversion from JSON failed with error: Unexpected character encountered
 | while parsing value: ath '', line 0, position 0.

是否可以强制 FLANNEL 使用特定网络接口?而不是默认接口?

相关内容