跳到主要内容

网络设置

注意

免费版跳过此步骤,当为标准版/专业版时,需要保证每台机器网络设置一致。

Kubernetes 集群通信网卡名称一致性要求及配置说明

目的说明

在 Kubernetes 集群中,为确保节点间网络通信正常,**所有节点应统一使用同一个网络接口名称(网卡名)**进行 Pod 网络通信、节点间互联等操作。

在不同服务器环境中,操作系统可能根据 BIOS、PCI 顺序等因素生成不同的默认网卡名,例如:

  • eth0 / ens160 / enp0s3 / eno1

为了避免因网卡名不同导致 kubelet、CNI 或其他组件通信异常,必须将所有节点使用的通信网卡名统一,例如统一为 eth0

检查当前网卡名称

在每台节点服务器上,使用如下命令确认当前系统中网络接口名称:

ip addr show

或:

ip -o link show | awk -F': ' '{print $2}'

确定下用于集群通信的那张网卡的实际名称。


如果不一致,如何修改网卡名称

可以使用 netplanset-name 功能对网卡进行重命名,统一为指定名称,如 eth0


操作步骤(以 Ubuntu 为例)

1.确定当前用于通信的网卡名称和 MAC 地址

ip link show

假设你看到以下输出:

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 3c:ec:ef:a1:93:0f brd ff:ff:ff:ff:ff:ff

当前网卡名为 eno1,MAC 地址为 3c:ec:ef:a1:93:0f


2.编辑 Netplan 配置文件

通常路径为 /etc/netplan/01-netcfg.yaml/etc/netplan/00-installer-config.yaml

编辑文件:

sudo vim /etc/netplan/00-installer-config.yaml

添加或修改如下内容:

network:
ethernets:
eno1:
addresses:
- 192.168.100.148/24
gateway4: 192.168.100.1
nameservers:
addresses:
- 192.168.100.1
search: [ ]
set-name: eth0
match:
macaddress: 3c:ec:ef:a1:93:0f
version: 2

说明:

  • match.macaddress: 精确匹配当前网卡
  • set-name: 设置统一名称(如 eth0)

3.应用配置

sudo netplan apply

注意:如为远程操作,请确保有串口/IPMI等方式进行备份访问,避免因重命名导致 SSH 中断。


4. 验证重命名是否生效

ip addr show eth0

确保网卡已经成功从原名称(如 eno1)重命名为 eth0,并网络正常。