背景
Kubernetes通过Cloud Controller Manager(又称CCM)组件在VPC路由表中添加合适的路由来打通集群中Pod之间的网络连接。
近期VPC发布了对多个路由表的支持能力,让用户可以自行选择ECS关联哪些路由表,为用户提供了丰富的路由管理能力。由于CCM早期版本中仅提供了VPC单路由表的支持,因此您需要在容器服务控制台升级CCM至最新版本。
前置条件
- 通过容器服务控制台创建一个专有版Kubernetes集群,参考文档 创建Kubernetes专有集群。
- Kubernetes集群为Flannel网络
- CCM版本需大于v1.9.3.86-g4454991-aliyun,查看CCM版本可参考文档 管理组件。
操作步骤
1、更新CloudConfig配置文件
使用命令行kubectl edit cm -n kube-system cloud-config
修改配置文件,将其中的${ROUTE_TABLES_IDS}替换为您的VPC路由表id(必须包含系统路由表),多个路由表列表使用逗号分隔。示例:vtb-t4n7888888888,vtb-t4n7k6u3m0n8407999999
apiVersion: v1
kind: ConfigMap
metadata:
name: cloud-config
namespace: kube-system
data:
cloud-config.conf: |-
{
"Global": {
"routeTableIDs": "${ROUTE_TABLES_IDS}"
}
}
2、重启CCM pod
使用命令行kubectl -nkube-system delete po -lapp=cloud-controller-manager
重启CCM pod即可。重启完毕后,即可在路由表中看到对应的集群节点条目。