Pod 间独占网卡模式在原有 VPC-CNI 模式单网卡多 IP 模式的基础上,进阶为容器直接独享使用弹性网卡。无缝对接腾讯云私有网络产品的全部功能,同时在性能做了极大的提升。
注意
功能简介
新一代 VPC-CNI 模式的网络方案中,能够在原有的网络能力中额外增加以下能力:
支持 Pod 绑定 EIP/NAT,不再依赖节点的外网访问能力,无须做 SNAT,可以满足爬虫,视频会议等高并发,高带宽外网访问场景。
支持基于 Pod 名称的固定 IP,Pod 调度重启后仍能保证 IP 不变。
支持 CLB 直通 Pod,不再经过 NodePort 转发,提升转发性能并拥有统一的负载均衡视图。
实现方式
新一代方案在原有 VPC-CNI 模式的基础上扩展,依托于弹性网卡,将绑定到节点的弹性网卡通过 CNI 配置到容器网络命名空间,实现容器直接独享使用弹性网卡。实现原理如下图所示:n![](https://qcloudimg.tencent-cloud.cn/image/document/ab71bc9b00b1497224b1b4a30cd9855c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ab71bc9b00b1497224b1b4a30cd9855c.png)
IP 地址管理原理
非固定 IP 模式
![](https://qcloudimg.tencent-cloud.cn/image/document/d84ec6b09d3f977dbe66ec2b2b1015da.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d84ec6b09d3f977dbe66ec2b2b1015da.png)
TKE 组件在每个节点维护一个可弹性伸缩的网卡池。已绑定的网卡数量将被维持在 Pod 数量 + 最小预绑定数量及 Pod 数量 + 最大预绑定数量之间:
当已绑定数量 < Pod 数量 + 最小预绑定数量时,会绑定网卡使得已绑定数量 = Pod 数量 + 最小预绑定数量。
当已绑定数量 > Pod 数量 + 最大预绑定数量时,会定时释放1个网卡(约2分钟一次),直到已绑定数量 = Pod 数量 + 最大预绑定数量。
当最大可绑定网卡数量 < 当前已绑定数量时,会直接释放多余的空闲网卡,使得已绑定数量 = 最大可绑定数量。
独占网卡的 Pod 创建时,从节点可用网卡池中随机分配一个可用网卡。
独占网卡的 Pod 销毁时,网卡释放回节点的网卡池,留给下一个 Pod 使用,不会在 VPC 侧释放(删除)。
节点删除时,将释放(删除)所有已绑定的网卡。
多容器子网的情况下,网卡优先分配到可用 IP 数量最多的子网内。
固定 IP 模式
TKE 不会为每个节点维护网卡池,网卡不会预绑定到节点上。
独占网卡的 Pod 创建时,直接绑定一张网卡到节点上,给这个 Pod 使用。
非固定 IP 的独占网卡 Pod 销毁时,直接在 VPC 侧删除释放该 Pod 使用的网卡,固定 IP 的 Pod 销毁时,网卡仅做解绑,不会删除释放。
节点删除时,将释放(删除)所有已绑定的网卡。
多容器子网的情况下,网卡优先分配到可用 IP 数量最多的子网内。
功能限制
仅支持 S5、SA2、IT5、SA3 等部分机型使用该网络模式。
节点上运行的独立网卡方案的 Pod 数量限制受到机型可绑定弹性网卡数量的影响。其最大数量为最大可绑定弹性网卡数量 - 1,详见 VPC-CNI 模式 Pod 数量限制。
仅支持新集群,存量容器服务 TKE 集群暂不支持变更网络方案。
有 VPC-CNI 模式的统一限制:
需要为容器专门规划子网,子网不建议其他云上资源共用(如云服务器、负载均衡等)。
集群内的节点需要和子网处于相同可用区,如果节点可用区与容器子网不在相同可用区,Pod 将无法调度。