详情页标题前

阿里云容器服务ACK扩容Terway场景下的Pod虚拟交换机-云淘科技

详情页1

Terway网络场景下,当虚拟交换机(vSwitch)IP资源不足时,或者您需要添加新的vSwitch(Pod 网段)时,您需要对vSwitch扩容。本文介绍如何新增虚拟交换机以增加新的IP地址资源供ACK集群使用。

使用限制

  • 请确保您添加的vSwitch包含节点的可用区,如果节点的可用区不在vSwitch列表中,则将使用主网卡对应的vSwitch。

  • 对已经创建的弹性网卡(ENI),您无法修改vSwitch配置,建议您在扩容Pod虚拟交换机后新增节点使用。

虚拟交换机vSwitch的IP资源不足特征

Terway网络场景下,vSwitch IP资源不足的特征如下:

  • 如果您发现Pod创建不成功,且状态显示为ContainerCreating,执行以下命令查看Pod所在节点的Terway的日志。

    kubectl logs --tail=100 -f terway-eniip-zwjwx -n kube-system -c terway

    若系统输出类似以下错误信息,说明该节点的Terway所使用的vSwitch没有空余的IP地址,Pod会因为没有IP资源而一直处于ContainerCreating状态。

    time="2020-03-17T07:03:40Z" level=warning msg="Assign private ip address failed: Aliyun API Error: RequestId: 2095E971-E473-4BA0-853F-0C41CF52651D Status Code: 403 Code: InvalidVSwitchId.IpNotEnough Message: The specified VSwitch \"vsw-AAA\" has not enough IpAddress., retrying"
  • 登录专有网络管理控制台,在控制台左侧导航栏中,单击交换机查看该vSwitch的可用IP数为0。

新增虚拟交换机vSwitch

使用控制台方式新增vSwitch较为简便,因此建议您将Terway组件升级到最新版本后在控制台上配置Pod虚拟交换机。

Terway v1.4.4及以上版本支持使用控制台和kubectl两种方式配置Pod虚拟交换机;Terway v1.4.4以下版本仅支持kubectl方式配置Pod虚拟交换机。

方式一:控制台操作指导

  1. 在专有网络管理控制台创建新的vSwitch,该vSwitch必须与IP资源不足的vSwitch在同一个区域。具体关于如何创建vSwitch,请参见创建和管理交换机。

    说明

    因Pod密度越来越大,为了满足Pod对IP地址日益增长的需求,建议您创建给Pod使用的vSwitch的网络位小于等于19,即网段中至少包含8192个IP地址。

  2. 登录容器服务管理控制台,在左侧导航栏单击集群

  3. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

  4. 组件管理页面,单击网络页签,选择需要升级的目标Terway组件,单击升级,将组件升级至最新版本后,单击配置

    若无升级按钮,说明Terway组件已升级至最新版本。

    说明

    除此配置方式之外,通过其他方式对已部署组件所做的修改,将在组件重新部署后被覆盖。

    阿里云容器服务ACK扩容Terway场景下的Pod虚拟交换机-云淘科技

  5. terway-eniip 参数配置页面的PodVswitchId区域,选择您所需的vSwitch,其他参数选择默认即可,如下所示。

    参数

    说明

    取值

    TerwayMemoryRequest

    Terway容器内存请求

    100Mi

    TerwayMemoryLimit

    Terway容器内存限制

    256Mi

    TerwayCpuLimit

    Terway容器CPU限制

    100m

    TerwayCpuRequest

    Terway容器CPU请求

    100m

    PolicyMemoryRequest

    Policy容器内存请求

    250m

    PolicyCpuRequest

    Policy容器CPU请求

    100m

    PolicyMemoryLimit

    Policy容器内存限制

    无限制

    PolicyCpuLimit

    Policy容器CPU限制

    1

    NetworkPolicy

    启用NetworkPolicy

    开启

    PodVswitchId

    Terway Pod虚拟交换机

    请确保Pod虚拟交换机可用区包含节点所在可用区。

  6. 参数配置完成后,单击确定

方式二:kubectl操作指导

  1. 在专有网络管理控制台创建新的vSwitch,该vSwitch必须与IP资源不足的vSwitch在同一个区域。具体关于如何创建vSwitch,请参见创建和管理交换机。

    说明

    因Pod密度越来越大,为了满足Pod对IP地址日益增长的需求,建议您创建给Pod使用的vSwitch的网络位小于等于19,即网段中至少包含8192个IP地址。

  2. 执行以下命令,添加vSwitch到Terway的ConfigMap配置中。

    kubectl edit cm eni-config -n kube-system

    添加vSwitch具体样例如下:

    eni_conf: |
    {
    "version": "1",
    "max_pool_size": 25,
    "min_pool_size": 10,
    "vswitches": {"cn-shanghai-f":["vsw-AAA", "vsw-BBB"]},
    "service_cidr": "172.21.0.0/20",
    "security_group": "sg-CCC"
    }

    样例中添加vsw-BBBvSwitches部分,其中vsw-AAA是已经存在的且IP资源不足的vSwitch。

  3. 执行以下命令删除全部Terway Pod后,系统将自动重建全部Terway Pod。

    • 针对ENI多IP场景,执行以下命令删除全部Terway Pod:

      kubectl delete -n kube-system pod -l app=terway-eniip
    • 针对ENI单IP场景,执行以下命令删除全部Terway Pod:

      kubectl delete -n kube-system pod -l app=terway-eni
  4. 执行以下命令检查全部是否成功创建Terway Pod。

    kubectl get pod -n kube-system  | grep terway
  5. 创建Pod,验证新创建的Pod是否可以从新添加的vSwitch成功分配获得IP地址。

    说明

    修改虚拟交换机配置后,新配置仅对新建的ENI生效,已创建的ENI将使用原有配置。您可以通过轮转节点的方式,让配置生效。

如果您在上述操作中遇到异常情况,请提交工单。

常见问题

Terway网络下,增加虚拟交换机(vSwitch)后,为何不能正常访问公网?

问题现象:在Terway网络下,因Pod没有IP资源而手动增加虚拟交换机,在增加虚拟交换机后,发现集群不能正常访问公网。

问题原因:Pod IP所属的虚拟交换机不具备公网访问的能力。

解决方法:您可以通过NAT网关的SNAT功能,为Pod IP所属的虚拟交换机配置公网SNAT规则。更多信息,请参见为已有集群开启公网访问能力。

Pod分配的IP不在虚拟交换机网段中怎么办?

问题现象:在Terway网络下,创建的Pod IP不在配置的虚拟交换机网段内。

问题原因:Pod IP来源于VPC地址,并且通过ENI分配给容器使用。只有在新建ENI时,才可以配置虚拟交换机。如果ENI已经创建,则Pod IP将继续从该ENI对应的虚拟交换机中分配。通常以下两个使用场景会遇到该问题:

  • 纳管一个节点到集群内,但这个节点之前在其他集群使用,且删除节点时没有排空节点Pod。这种情况下节点上可能残留之前集群使用的ENI资源。

  • 手动增加、修改Terway使用的虚拟交换机配置,由于节点上可能还存在原有配置的ENI,则新建的Pod将可能继续使用原有ENI上的IP。

解决方法:您可以通过新建节点、轮转老节点的方式来确保配置文件在新节点上生效。

相关文档

  • 使用Terway网络插件

  • 使用网络策略Network Policy

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/168338.html

(0)
上一篇 2023年12月10日 上午11:02
下一篇 2023年12月10日 上午11:04
详情页2

相关推荐

  • 阿里云容器服务ACK创建节点池并扩容-云淘科技

    注册集群弹性节点池用于管理一组线上节点资源,您可以通过节点池为您的线下集群扩容线上ECS节点。本文主要介绍如何创建注册集群弹性节点池。 前提条件 已完成构建混合弹性容器集群(弹性ECS)的步骤6之前的操作。 步骤一:创建节点池 登录容器服务管理控制台,在左侧导航栏选择集群。 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点池。…

    2023年12月10日
  • 阿里云容器服务ACK为弹性网卡(ENI)配置多个安全组-云淘科技

    在Terway网络模式下,Terway会使用弹性网卡ENI为容器分配IP地址。在Terway创建ENI资源时,您可以为ENI指定最多5个安全组,从而实现更灵活的Pod网络防火墙策略。本文介绍如何在Terway模式下,为ENI配置多安全组。 前提条件 目前仅v1.1.1及以上版本的Terway组件支持ENI多安全组功能。关于升级Terway组件的具体步骤,请参…

    2023年12月10日
  • 腾讯云容器服务集群扩缩容同尘科技

    操作场景 本文档指导您对集群进行扩缩容,手动或自动处理应用对资源需求量的变化。TKE 支持以下三种扩缩容方法,您可结合实际情况进行选择:手动添加/移出节点。通过弹性伸缩自动添加/移出节点。通过超级节点完成应用层的扩缩容,无需通过节点进行扩缩容。 前提条件 1. 已登录 容器服务控制台。2. 已 创建集群。 操作步骤 手动添加/移出节点 您可通过新建节点或添加…

    腾讯云 2023年12月9日
  • 阿里云容器服务ACK通过ALB Ingress实现基于QPS数据的应用弹性伸缩-云淘科技

    ALB Ingress支持根据ALB后端统计的QPS数据进行应用的自动扩容和缩容,保障应用的稳定性以及达到更好的成本控制。本文介绍如何通过ALB Ingress实现基于QPS数据的应用弹性伸缩。 前提条件 已安装alibaba-cloud-metrics-adapter组件,且版本为2.3.0及以上。具体操作,请参见基于阿里云组件指标的容器水平伸缩。 已安装…

    阿里云容器服务 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云容器服务ACK为Pod配置固定IP及独立虚拟交换机、安全组-云淘科技

    Terway Trunk ENI支持为每个Pod配置固定IP、独立的虚拟交换机、安全组,能提供精细化流量管理、流量隔离、网络策略配置和IP管理能力。本文介绍如何在Terway网络中为Pod配置固定IP及独立虚拟交换机、安全组。 背景信息 弹性网卡中继(Trunk ENI)是一种新的虚拟网卡。除了提供原有弹性网卡(ENI)相同的功能外,还支持将额外的ENI挂载…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。