在Terway網路模式下,Pod通過彈性網卡ENI來分配IP地址。預設情況下,Terway在建立ENI時會使用一個安全性群組。您也可以指定多個安全性群組配置,從而對 Pod 的網路流量進行精細化的存取控制。
使用說明
-
至少填寫一個安全性群組,指定多個安全性群組時請確保安全性群組類型一致(普通或企業)。安全性群組的VPC需與叢集VPC保持一致。
Terway 不會預先校正安全性群組配置的有效性。配置錯誤時,建立新網卡將提示錯誤。
-
Terway 版本不同,功能支援情況不同:
如需升級Terway,請參見管理組件。
-
v1.1.1及以上:開始支援多安全性群組功能,可通過kubectl至多指定 5 個安全性群組。
-
v1.13.6及以上:可通過kubectl至多指定 10 個安全性群組。
-
v1.15.0及以上:支援通過控制台配置多安全性群組功能。
-
-
此配置僅對新建立的 Pod(及其彈性網卡ENI)生效,不改變已有 Pod 的安全性群組。如需讓存量Pod應用新的安全性群組配置,可通過輪轉節點(先移除節點,再添加已有節點)來實現。
在已有叢集中為ENI配置多安全性群組
請根據Terway版本,選擇通過控制台或kubectl來完成操作。
控制台
為確保配置持久生效,請始終通過下文的方式配置Terway組件。 任何通過其他方法應用的變更,都將在Terway下一次重新部署(如升級或重啟)時被覆蓋。
登入Container Service管理主控台,在左側導覽列單擊叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,單擊組件管理。
-
在組件管理頁面,單擊網路頁簽,定位Terway組件,按照頁面提示升級組件至最新版本(如提示升級),然後單擊配置,配置組件。
除此配置方式之外,通過其他方式對已部署組件所做的修改,將在組件重新部署後被覆蓋。
-
在terway-eniip 參數配置頁面的SecurityGroupIDs地區,填寫需要設定安全性群組,其他參數可保持預設,並完成配置的提交。
kubectl
-
執行以下命令,修改Terway的配置ConfigMap。
kubectl edit cm eni-config -n kube-system -
在eni_conf中增加以下內容。
"security_group": null, "security_groups": ["sg-foo","sg-bar"]樣本如下,Terway將使用
security_group和security_groups中定義的所有安全性群組。"security_group": null, "security_groups": ["sg-bp1b39sjf3v49c33****","sg-bp1bpdfg35tg****"], -
執行以下命令,重建Terway Pod使安全性群組配置生效。
kubectl rollout restart -n kube-system daemonset.apps/terway-eniip -
驗證配置。
-
登入ECS控制台,在左側導覽列選擇。
-
在執行個體列表,單擊目標執行個體。
-
在執行個體詳情頁面,單擊彈性網卡頁簽。
在彈性網卡頁簽中,您可以查看到輔助網卡使用的安全性群組配置為您設定檔中定義的多個安全性群組配置。
-
建立叢集時為ENI配置多安全性群組
您可通過建立叢集介面,在建立叢集時為ENI配置多安全性群組,配置欄位為SecurityGroupIDs。樣本如下:
{
"name": "your_cluster_name",
"cluster_type": "ManagedKubernetes",
"addons": [
{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"true\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"true\",\"SecurityGroupIDs\": \"[\\\"sg-foo\\\"]\" }"
}
],
....
}