阿里云容器服务 Kubernetes 集群目前支持两种容器网络插件: Flannel 和 Terway.Terway 是阿里云自研的 Kubernetes 网络插件, 它通过将弹性网卡 (ENI) 分配给 Pod 来构建 Pod 网络.
使用 Terway 插件能够带来更好的 Pod 网络性能. 但相对于 Flannel, 创建使用 Terway 的集群配置较为复杂, 本文将对配置的过程和一些注意事项进行介绍.
Terway 集群配置与 Flannel 集群相比主要有两点不同:
Pod 需要通过弹性网卡 (ENI) 接入虚拟交换机, 来组建 Pod 网络. 因此, 除了要选择节点虚拟交换机之外, 还需要指定供 Pod 通信的虚拟交换机;
不同 ECS 规格所能支持挂载的弹性网卡数量不同, 而 ECS 挂载弹性网卡的数量以及单个弹性网卡支持的 IP 数量直接决定了节点所能分配的 Pod 数量, 因此在选择节点规格时需要注意 Pod 数量限制.
Step 1: 选择节点交换机
与普通集群相同, 首先需要为节点选择专有网络和虚拟交换机. 但在使用 Terway 时, 在 VPC 内还需要为 Pod 虚拟交换机规划充足的网络地址空间, 可参考: https://help.aliyun.com/document_detail/86500.html
Step 2: 选择 Terway 模式
在网络插件中选择 Terway.
Terway 默认为多 IP 模式, 同时也支持 Pod 独占弹性网卡的模式, 能够带来更好的性能. 但此时节点上的 Pod 数量收到 ECS 能够挂载的弹性网卡数量限制. 独占模式需要提交工单申请开放.
Step 3: 选择 Pod 虚拟交换机
接下来指定供 Pod 使用的虚拟交换机, 有如下的限制和建议:
对于在第一步中选择的每一个节点虚拟交换机, 必须选择一个相同可用区的 Pod 虚拟交换机;
不能复用第一步中选择的节点虚拟交换机;
所选虚拟交换机的 CIDR 决定了可支持的 Pod 数量, 为了给可能的集群扩容留下足够的地址空间, 建议选择子网掩码不大于 19 的虚拟交换机, 列表中将显示交换机对应的可支持 Pod 数量.
在交换机列表中, 不可选的交换机将被禁用, 可以参考提示了解不可选的原因.
Step 4: 选择节点实例规格
在选择节点实例规格时, 需要考虑其支持挂载的 ENI 数量和相应的 Pod 数量. 在规格列表中, 相应的数据已经列出, 绿色数字为该型号在不同 Terway 模式下可支持的 Pod 数量.
来源: https://yq.aliyun.com/articles/747417