多网卡

更新时间: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"

 

 

 

 

导航