详情页标题前

腾讯云容器服务多 Pod 共享网卡模式同尘科技

详情页1

使用原理

VPC-CNI 多 Pod 共享网卡模式使用原理图如下所示:

腾讯云容器服务多 Pod 共享网卡模式同尘科技

集群网络是用户的 VPC,节点和容器子网属于该 VPC。容器子网可以选择多个 VPC 内的子网。可设置是否开启固定 IP。您可参考 固定 IP 模式使用说明。

IP 地址管理原理

非固定 IP 模式



腾讯云容器服务多 Pod 共享网卡模式同尘科技


TKE 组件在每个节点维护一个可弹性伸缩的 IP 池。已绑定的 IP 数量将被维持在 Pod 数量 + 最小预绑定数量Pod 数量 + 最大预绑定数量之间:当已绑定数量 < Pod 数量 + 最小预绑定数量时,会绑定 IP 使得已绑定数量 = Pod 数量 + 最小预绑定数量。当已绑定数量 > Pod 数量 + 最大预绑定数量时,会定时释放IP(约2分钟一次),直到已绑定数量 = Pod 数量 + 最大预绑定数量。当最大可绑定数量 < 当前已绑定数量时,会直接释放多余的空闲 IP,使得已绑定数量 = 最大可绑定数量。共享网卡的 Pod 创建时,从节点可用 IP 池中随机分配一个可用 IP。共享网卡的 Pod 销毁时,IP 释放回节点的 IP 池,留给下一个 Pod 使用,不会在 VPC 侧释放(删除)。IP 和网卡的分配和释放目前基于最少网卡原则,即保证使用的弹性网卡尽量的少:IP 分配给 Pod:优先分配已分配 IP 数量最多的网卡上的 IPIP 释放:优先释放已分配 IP 数量最少的网卡上的 IP新网卡绑定:若当前已绑定网卡 IP 配额用尽或网卡所在的子网 IP 用完,则申请新网卡绑定 IP网卡释放:若已绑定网卡的辅助 IP 都已解绑,且不再需要新增 IP,则解绑并删除网卡节点会注册扩展资源 tke.cloud.tencent.com/eni-ip,资源的可分配数(Allocatable) 为实际的已绑定 IP 资源数,总量(Capacity) 为节点可绑定的 IP 资源上限。因此,当 Pod 调度到某节点失败时,说明节点的 IP 已用尽。新网卡的子网选择:新网卡优先选择可用 ip 最多的子网。各节点最大可绑定 IP = 最大绑定网卡数 * 单网卡可绑定 IP 数。当前最小预绑定数量最大预绑定数量的默认值为5。

固定 IP 模式

TKE 网络组件维护一个集群维度的可用 IP 池。集群每新增一个节点,不会提前绑定任何辅助 IP 和弹性网卡,IP 完全按需分配。新建一个使用 VPC-CNI 模式的 Pod 时,IPAMD 组件会在其所在节点寻找一张可用网卡分配 IP,网卡分配原则基于最少网卡,即优先分配已绑定 IP 数量最多的网卡。若已绑定网卡都已绑满 IP,则尝试新建绑定网卡再分配 IP,网卡所在子网优先选择可用 IP 最多的子网。没有设置固定 IP 注解的 Pod 销毁时,IP 地址回归集群的可用 IP 池,并触发网卡解绑 IP,IP 地址将释放回 VPC 子网内。固定 IP 的 Pod 的 IP 销毁后会在 VPC 内保留,保证下一次创建同名 Pod 的时候仍使用这个 IP。节点删除时,将释放网卡占用的 IP 资源。多容器子网的情况下,网卡优先分配到可用 IP 数量最多的子网内,若没有完全满足需求的子网,则节点绑定网卡失败。

多网卡数据面原理

当节点绑定了多张网卡时,Pod 发出的网络包遵循策略路由转发到对应的网卡上:在节点上执行 ip link 可看到节点所有的网络设备信息,通过弹性网卡的 mac 地址比对,可知道其中弹性网卡对应的网络设备。一般情况下,eth0为主网卡,eth1eth2等为辅助弹性网卡:

腾讯云容器服务多 Pod 共享网卡模式同尘科技

在节点上执行 ip rule 可看到策略路由表的信息,TKE 网络组件通过弹性网卡的 +2000 得到路由表号,绑定了对应网卡 IP 的 Pod 网络包都将转发到该路由表,如此例中,eth1 对应的路由表即为 2003,eth2 对应的路由表即为 2010:

腾讯云容器服务多 Pod 共享网卡模式同尘科技

对应的路由表则设置了到对应网卡的默认路由,节点上执行 ip route show table 可查看:

腾讯云容器服务多 Pod 共享网卡模式同尘科技

而欲发送给 Pod 的网络包到达节点时,同样遵循策略路由,直接通过主路由表发送给 Pod 的 Veth 网卡。

使用方法

使用 VPC-CNI 需要确保 rp_filter 处于关闭状态。可参考以下代码示例:

sysctl -w net.ipv4.conf.all.rp_filter=0# 假设 eth0 为主网卡sysctl -w net.ipv4.conf.eth0.rp_filter=0

注意tke-eni-agent 组件自动设置节点的内核参数。若您自己有维护内核参数且打开 rp_filter,则会导致网络不通。

开启 VPC-CNI

创建集群时开启 VPC-CNI

1. 登录 容器服务控制台,单击左侧导航栏中集群。2.集群管理页面,单击集群列表上方的新建。3.创建集群页面,在容器网络插件中选择 VPC-CNI。如下图所示:

腾讯云容器服务多 Pod 共享网卡模式同尘科技


说明默认情况下,VPC-CNI 模式不支持固定 Pod IP 能力,且该能力仅支持在 创建集群 时设置。如需为集群开启支持固定 Pod IP,请参见 固定 IP 模式使用说明。

为已有集群开启 VPC-CNI

创建集群时选择 Global Router 网络插件,后续在集群基本信息页面开启 VPC-CNI 模式(两种默认混用)。1. 登录 容器服务控制台,单击左侧导航栏中集群。2.集群管理页面,选择集群 ID,进入集群的基本信息页面。3. 在集群的基本信息页面,查看节点和网络信息,在 VPC-CNI 模式中单击开启。4. 在弹出窗口中选择是否支持固定 IP,并选择子网。如下图所示:

腾讯云容器服务多 Pod 共享网卡模式同尘科技


注意针对固定 IP 场景,启用 VPC-CNI 后需要设置 IP 回收策略,即设置 Pod 销毁后需要退还 IP 的时长。非固定 IP 的 Pod 销毁后可立即释放 IP(非释放回 VPC,释放回容器管理的 IP 池),不受此设置的影响。5. 单击提交,即可为已有集群开启 VPC-CNI。

关闭 VPC-CNI

1. 登录 容器服务控制台,单击左侧导航栏中集群。2.集群管理页面,选择集群 ID,进入集群的基本信息页面。3. 在集群的基本信息页面,查看节点和网络信息,在 VPC-CNI 模式中单击关闭。4. 在弹出窗口中输入集群 ID 进行确认,单击确定,即可关闭 VPC-CNI。

腾讯云容器服务多 Pod 共享网卡模式同尘科技



容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

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

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云TDSQL-C MySQL版简介

    本文为您介绍安全组相关概念和说明。 什么是安全组 安全组 是一种有状态的包含过滤功能的虚拟防火墙,用于设置云服务器、负载均衡、云数据库等实例的网络访问控制,是腾讯云提供的重要的网络安全隔离手段。安全组是一个逻辑上的分组,您可以将同一地域内具有相同网络安全隔离需求的云数据库实例加到同一个安全组内。云数据库与云服务器等共享安全组列表。 安全组规则与限制 详细安全…

    腾讯云 2023年12月9日
  • 腾讯云对象存储云查毒接口

    简介 本文档提供关于云查毒接口的 API 概览和 SDK 示例代码。注意 需要 COS PHP SDK v2.5.0 及以上版本。旧版本可能存在 bug,使用时建议升级到 最新版本。 API 操作描述 提交病毒检测任务 用于提交一个病毒检测任务 查询病毒检测任务结果 用于查询一个病毒检测任务的状态或结果 提交病毒检测任务 功能说明 用于提交一个病毒检测任务。…

    腾讯云 2023年12月9日
  • 腾讯云自动化助手快速入门

    自动化助手提供了控制台、API 及 SDK 三种方式管理您的云服务。本文以使用轻量应用服务器控制台为例,快速开始使用自动化助手。 步骤1:安装自动化助手客户端 说明2020年12月15日之后使用公共镜像创建的实例,默认已预装自动化助手客户端。若您的实例于2020年12月15日前购买,请参见 安装自动化助手客户端 完成安装。自动化助手仅支持使用私有网络 VPC…

    2023年12月9日
  • 腾讯云Serverless应用中心部署应用-同尘科技

    操作场景 完成本地项目开发后,您可以快速部署应用、查看部署信息并进行函数调试。 前提条件 已完成本地项目开发(参考 项目开发)。 操作步骤 快速部署 您可以通过 Serverless Cloud Framework,快速将项目部署到云端,具体操作如下: scf deploy 输入该指令后,Serverless Cloud Framework CLI 将会为您…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • DataWorks这个和API上的获取出来的差异很大?-云小二-阿里云

    DataWorks这个和API上的获取出来的差异很大?和数据地图上差异也很大 以下为热心网友提供的参考意见 DataWorks和API获取出来的差异很大,主要是因为它们的数据来源、数据格式和数据处理方式不同。 数据来源:DataWorks是一个大数据开发平台,可以从多种数据源中获取数据,包括关系型数据库、非关系型数据库、日志文件等。而API通常是从特定的数据…

    2023年12月30日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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