使用场景
Cubecni网络插件会为节点额外添加网卡,用来构建容器网络。这些网卡,如eth1,默认使用配置项cubecni-config配置的Pod子网和安全组,其中Pod子网为订购时选择的子网,安全组为订购时委托自动创建或用户选择的安全组。
可通过创建新的配置项,为特定节点或节点池配置单独的Pod子网和安全组,实现节点维度的容器网络配置。
如下场景,为特定节点配置独立的子网和安全组,以实现节点C的Pod独享NAT出口IP和带宽:
使用限制
1. 仅新建的网卡会使用新配置的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. 节点配置标签
新建节点配置标签
创建节点池时添加节点标签,键设置为cubecni-config,值设置为foo。新建节点池,详见节点池管理。
注意
节点池新增节点会使用foo指定的配置,不会更新存量节点已创建的网卡的安全组。
已有节点配置标签
a. 集群管理页面左侧导航栏,选择节点->标签,点击右侧对应节点的设置标签。
b. 在设置节点标签页面,选择自定义标签,点击添加标签。
c. 标签名设置为cubecni-config,标签值值设置为foo,点击确认。
添加标签后,需重建cubecni插件:
a. 集群管理页面左侧导航栏,选工作负载->守护进程。
b. 命名空间选择kube-system,找到cubecni服务,点击右侧的重新部署。
c. 选择滚动重启或快速重启,点击确认,当运行/期望Pod数量相等,说明重启成功。
注意
对于存量节点,不会更新已创建的网卡的安全组。
3. 检查配置是否生效
登录弹性云主机控制台,进入云主机实例详情页,可见弹性网卡配置的子网和安全组信息。