在Terway网络环境下指定节点维度的网络配置

Terway网络下所有节点默认使用命名空间kube-system中名称为eni-config的ConfigMap,如果需要按节点维度配置所使用的虚拟交换机、安全组,则可以通过创建新的ConfigMap实现。Terway将会以MergePatch(rfc7396)的形式将新配置合并到默认配置上。 本文介绍Terway网络下如何实现节点级别的网络配置。

前提条件

已创建虚拟交换机、安全组。详细信息,请参见创建和管理交换机创建安全组

场景图

给特定Pod独立的NAT出口IP和带宽:

image

使用限制

仅新建ENI时会使用您指定的虚拟交换机、安全组。如果ENI已经存在,则将使用原有ENI配置。

操作步骤

  1. 在命名空间kube-system中创建名称为foo的ConfigMap。

    1. 登录容器服务管理控制台

    2. 在控制台左侧导航栏,单击集群

    3. 集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情

    4. 在集群管理页左侧导航栏,选择配置管理 > 配置项

    5. 配置项页面,命名空间选择kube-system,然后单击页面右上角的创建

    6. 创建页面,配置项名称设置为foo。单击添加名称设置为eni_conf中填入以下内容并将虚拟交换机和安全组参数替换为实际值。

      {
          "vswitches": {
              "cn-hangzhou-g": [
                  "vsw-10000"
              ],
              "cn-hangzhou-i": [
                  "vsw-10001"
              ]
          },
          "security_group": "sg-10000",
          "security_groups": [
              "sg-10000",
              "sg-10001"
          ]
      }

      参数名称

      说明

      vswitches

      配置虚拟交换机的可用区和实例ID。

      您可以登录专有网络管理控制台,在控制台左侧导航栏选择交换机,在交换机列表中查看虚拟交换机所在的可用区和实例ID。配置虚拟交换机的可用区和实例ID时注意以下事项:

      • 请确保填写的虚拟交换机包含需使用的节点所在的可用区,如果节点可用区和您填写的虚拟交换机可用区不一致,则不生效。

      • 如无需修改,则无需配置vswitches相关的键值。

      security_group

      • 当您只需要新增一个安全组时,可用security_group,并设置security_groups: null

      • 当您需要新增一个或多个安全组时,可用security_groups,并设置 security_group: null

      • 系统将使用重新指定后的security_groupsecurity_groups中的所有安全组,请确保所有安全组在相同的VPC下,且安全组类型相同,并且总数量不超过5个。更多配置多安全组的信息,请参见为弹性网卡(ENI)配置多个安全组

      • 如无需修改,则无需配置安全组相关的键值。

      security_groups

    7. 单击确定

  2. 为节点配置标签。

    • 为已有节点配置标签。

      1. 配置标签。

        1. 在集群管理页左侧导航栏中,选择节点管理 > 节点,然后单击页面右上角标签与污点管理

        2. 标签页签中,选择目标节点,单击添加标签

        3. 添加页面中,名称设置为terway-config设置为foo,单击确定

      2. 重启Terway容器组以使配置生效。

        1. 在集群管理页左侧导航栏中,选择工作负载 > 容器组

        2. 在容器组页面顶部设置命名空间kube-system,在搜索框中搜索terway-eniip。选中所有搜索到的结果后,单击批量删除

        3. 在对话框中,单击确定。删除后,系统会自动重新创建Terway容器组。

          在容器组页面以terway-eniip开头的容器组,其状态列显示Running,说明重启Terway容器组成功。新配置的虚拟交换机和安全组,也会在新建Terway容器组时生效。

    • 为新建节点配置标签。

      请在创建节点池时添加节点标签,设置为terway-config设置为foo。新建节点池,请参见操作步骤

  3. 检查Terway容器组分配的ENI是否使用了指定的虚拟交换机、安全组。

    1. 登录ECS管理控制台,在左侧导航栏中选择实例与镜像 > 实例

    2. 单击目标实例。在实例页面单击弹性网卡页签,在此页面下查看Pod分配的ENI是否使用了指定的虚拟交换机、安全组。