多网卡
更新时间:2025年3月27日 17:08
浏览:774
主机有多张网卡时,k8s 黑认取第一张可用的网卡及ip 分配给相关组件。
某些场景下,需要使用非第一张网卡来部署集群
calico 初始化时,指定IP自动检测方法
calico 默认使用第一个可连通的网卡的 ip,可指定检测方法
官方说明
https://docs.tigera.io/calico/latest/networking/ipam/ip-autodetection
spec:
template:
containers:
env:
- name: IP_AUTODETECTION_METHOD
value: "interface=enp0s3"
# value: "can-reach=10.10.10.10"
https://docs.tigera.io/calico/latest/reference/configure-calico-node#ip-autodetection-methods
value 有效值:
- 指定 k8s 节点ip地址(kubernetes-internal-ip) 示例 value: "kubernetes-internal-ip=10.10.10.10"
- 正则匹配能访问到指定IP或域名的ip (can-reach) 示例 value: "can-reach=k8s.liu12.com"
- 正则匹配指定网卡 (interface) 示例 value: ""interface=enp0s3" 或 value: ""interface=enp.*"
- 正则匹配排除除指定网卡(skip-interface) 示例 value: "skip-interface=enp0s3" 或 value: "skip-interface=enp.*"
- cidr ip地址段,示例 value: "cidr=10.20.0.0/24"
集群 init 初始化时,在 yaml 中指定ip
官方说明:
https://kubernetes.io/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
apiServer:
timeoutForControlPlane: 3m0s
extraArgs:
advertise-address: "11.11.15.28"
bind-address: "0.0.0.0"
etcd:
local:
dataDir: /var/lib/etcd
serverCertSANs:
- "bytegpu.q06.cn"
- "11.11.15.28"
- "127.0.0.1"
peerCertSANs:
- "bytegpu.q06.cn"
- "11.11.15.28"
- "127.0.0.1"
extraArgs:
initial-cluster-state: new
name: etcd1
initial-advertise-peer-urls: "https://11.11.15.28:2380"
listen-peer-urls: "https://11.11.15.28:2380"
listen-client-urls: "https://11.11.15.28:2379,https://127.0.0.1:2379"
advertise-client-urls: "https://11.11.15.28:2379"
initial-cluster: "etcd1=https://11.11.15.28:2380"