用户指南

最佳实践

API 文档

Pod 间独占网卡模式

最近更新时间:2021-11-29 17:22:47

Pod 间独占网卡模式在原有 VPC-CNI 模式单网卡多 IP 模式的基础上,进阶为容器直接独享使用弹性网卡。无缝对接腾讯云私有网络产品的全部功能,同时在性能做了极大的提升。

注意:

目前该功能正处于内测阶段,您可通过 内测申请 开通使用。

功能简介

新一代 VPC-CNI 模式的网络方案中,能够在原有的网络能力中额外增加以下能力:

  • 支持 Pod 绑定 EIP/NAT,不再依赖节点的外网访问能力,无须做 SNAT,可以满足爬虫,视频会议等高并发,高带宽外网访问场景。
  • 支持基于 Pod 名称的固定 IP,Pod 调度重启后仍能保证 IP 不变。
  • 支持 CLB 直通 Pod,不再经过 NodePort 转发,提升转发性能并拥有统一的负载均衡视图。

实现方式

新一代方案在原有 VPC-CNI 模式的基础上扩展,依托于弹性网卡,将绑定到节点的弹性网卡通过 CNI 配置到容器网络命名空间,实现容器直接独享使用弹性网卡。实现原理如下图所示:

IP 地址管理原理

非固定 IP 模式

  • 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 将无法调度。
目录