使用场景
使用Cubecni网络插件的集群,节点默认使用配置项cubecni-config配置的Pod子网和安全组。如果需要为特定节点或节点池配置单独的Pod子网和安全组,可通过创建新的配置项实现。
通过节点维度的网络配置,可实现如下场景,为特定节点的Pod配置独立的NAT出口IP和带宽:
使用限制
1. 仅新建ENI时会使用新配置的Pod子网和安全组,已创建的ENI会继续使用原有配置。若需配置节点维度Pod子网和安全组,建议为新节点或节点池配置;
2. 该特性要求Cubecni版本不低于v1.1.6,且集群已配置资源委托。
操作步骤
1. 在命名空间kube-system中创建名称为foo的ConfigMap。
a. 登录云容器引擎控制台,左侧导航栏选择集群;
b. 在集群列表页面,单击目标集群名称,进入集群管理页面;
c. 左侧导航栏,选择配置管理 -> 配置项;
d. 在配置项页面,命名空间选择kube-system,单击创建配置项;
e. 创建页面,配置项名称设置为foo,单击添加配置项,变量名设置为node-config.json,变量值填入以下内容,将iaas_subnets和security_groups参数替换为实际值:
{
"action": "override",
"iaas_subnets": ["subnet-jin7fmxxxx"],
"security_groups": ["sg-6hxh19xxxx"]
}
参数名 | 说明 |
---|---|
action | 值固定为override,默认为override,即子网/安全组配置会覆盖cubecni-config的配置 |
iaas_subnets | 值为VPC子网ID列表。若配置多个子网,优先使用可用IP最多的子网;如无需修改,则无需配置iaas_subnets,或值配置为null |
security_groups | 值为安全组ID列表。用于配置新建的Pod共享ENI,最多可配置5个;若无需修改,则无需配置security_groups,或值配置为null |
2. 节点配置标签
已有节点配置标签
a. 集群管理页面左侧导航栏,选择节点->标签,点击右侧对应节点的设置标签
b. 在设置节点标签页面,选择自定义标签,点击添加标签;
c. 标签名设置为cubecni-config,标签值值设置为foo,点击确认。
添加标签后,需重建cubecni插件:
a. 集群管理页面左侧导航栏,选工作负载->守护进程;
b. 命名空间选择kube-system,找到cubecni服务,点击右侧的重新部署;
c. 选择滚动重启或快速重启,点击确认,当运行/期望Pod数量相等,说明重启成功。
新建节点配置标签
创建节点池时添加节点标签,键设置为cubecni-config,值设置为foo。新建节点池,详见节点池管理。
3. 检查配置是否生效
登录弹性云主机控制台,进入云主机实例详情页,可见弹性网卡配置的子网和安全组信息。