使用場景
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. 檢查配置是否生效
登錄彈性云主機控制臺,進入云主機實例詳情頁,可見彈性網卡配置的子網和安全組信息。