新增Pod虚拟交换机

更新时间:2025-02-14 02:01

在ENS边缘场景中,如果ACK Edge集群使用Terway Edge插件,当虚拟交换机的IP不足或者需要扩展Pod网段时,您可以通过新增Pod虚拟交换机来增加IP地址资源供ACK Edge集群使用。

前提条件

新增虚拟交换机

如果发现Pod虚拟交换机的IP资源不足,您可以通过以下方式新增虚拟交换机以供ACK Edge集群使用。

  1. 在ENS对应的网络内创建交换机。

    1. 登录ENS控制台,在左侧导航栏选择网络管理 > 交换机

    2. 交换机页面,单击创建交换机,填写相关内容后,单击创建

      节点:选择ENS节点。

      网络:选择ENS对应的网络。

      名称:新增交换机的名称。

      IPv4网段:ENS的网络所在的网段。

  2. 将新增的虚拟交换机添加到Terway Edge的ConfigMap中。

    kubectl edit cm privateip-config -n kube-system 

    示例输出如下,您可以在vswitches下配置新增的虚拟交换机,可配置多个。其中n-xxx表示ENS中的网络ID,["vsw-xxx", "vsw-xxxx"]表示在该网络中的交换机ID,可配置多个,请勿删除已有的交换机ID。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      annotations:
        helm.sh/hook: pre-install
      name: privateip-config
      namespace: kube-system
    data:
      privateip_conf: |
        {
          "vswitches": {
             "n-xxx": ["vsw-xxx", "vsw-xxxx"],
             "n-xxx": ["vsw-xxx", "vsw-xxxx"]
          },
          "vswitch_selection_policy": "most"
        }
    
    说明

    Pod的IP地址默认从预先购买的ENI所在虚拟交换机中分配,新增的Pod虚拟交换机可以与ENS实例以及ENI实例位于不同的交换机下。

如何判断Pod虚拟交换机的IP资源不足?

在Terway Edge网络场景下,如果您发现Pod创建失败,且状态显示为ContainerCreating,您可以通过以下方式确认虚拟交换机IP资源是否不足。

  1. 查看Pod所在节点的ENS节点。

    kubectl get pod -o wide 

    预期输出:

    NAME      READY   STATUS              RESTARTS   AGE     IP             NODE    
    cube-1    0/1     ContainerCreating   0          41s     <none>         node-1 
    cube-2    0/1     ContainerCreating   0          41s     <none>         node-1  
  2. 查看ENS节点资源的相关信息。

    kubectl describe ensnodes node-1

    预期输出:

    Name:         node-1
    Namespace:    
    Labels:       name=node-1
    API Version:  network.alibabacloud.com/v1beta1
    ....
    Events:
      Type     Reason         Age      From               Message
      ----     ------         ----     ----               -------
      Warning  AllocIPFailed  1m       ens-multi-ip-node  [SDKError] API: AssignPrivateIpAddresses, ErrorCode: InvalidVSwitchId.IpNotEnough, RequestId: xxxxxxx, Message: Don't have enough private IPs in this switch.
      Warning  AllocIPFailed  1m       ens-multi-ip-node  [SDKError] API: AssignPrivateIpAddresses, ErrorCode: InvalidVSwitchId.IpNotEnough, RequestId: xxxxxxx, Message: Don't have enough private IPs in this switch.

    若输出Events信息中包含ErrorCode:InvalidVSwitchId.IpNotEnough ,则表明Pod虚拟交换机IP资源不足。

相关文档

  • 本页导读 (1)
  • 前提条件
  • 新增虚拟交换机
  • 如何判断Pod虚拟交换机的IP资源不足?
  • 相关文档
文档反馈
phone 联系我们

立即和Alibaba Cloud在线服务人员进行交谈,获取您想了解的产品信息以及最新折扣。

alicare alicarealicarealicare