在Terway網路模式下,Terway會使用彈性網卡ENI為容器分配IP地址。在Terway建立ENI資源時,您可以為ENI指定最多5個安全性群組,從而實現更靈活的Pod網路防火牆策略。本文介紹如何在Terway模式下,為ENI配置多安全性群組。
前提條件
目前僅v1.1.1及以上版本的Terway組件支援ENI多安全性群組功能。關於升級Terway組件的具體步驟,請參見管理組件。
背景資訊
預設情況下,Terway在建立ENI時會使用一個安全性群組。您可以指定多個安全性群組配置,Terway將使用您指定的安全性群組來建立ENI。
為ENI配置多安全性群組
執行以下命令,修改Terway的配置ConfigMap。
kubectl edit cm eni-config -n kube-system
在eni_conf中增加以下內容。
"security_groups": ["sg-foo","sg-bar"]
樣本如下:
"security_group": "sg-bp19k3sj8dk3dcd7****", "security_groups": ["sg-bp1b39sjf3v49c33****","sg-bp1bpdfg35tg****"],
說明Terway將使用
security_group
和security_groups
中定義的所有安全性群組,請確保所有安全性群組在相同的VPC下,且安全性群組類型相同,並且總數量不超過5個。執行以下命令,重建Terway Pod使安全性群組配置生效。
kubectl delete pod -n kube-system -l app=terway-eniip
驗證配置
登入ECS控制台,在左側導覽列選擇 。
在執行個體列表,單擊目標執行個體。
在執行個體詳情頁面,單擊彈性網卡頁簽。
在彈性網卡頁簽中,您可以查看到輔助網卡使用的安全性群組配置為您設定檔中定義的多個安全性群組配置。
建立叢集時為ENI配置多安全性群組
您可通過API介面,在建立叢集時為ENI配置多安全性群組,配置欄位為SecurityGroupIDs
,樣本如下:
{
"name": "your_cluster_name",
"cluster_type": "ManagedKubernetes",
"addons": [
{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"true\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"true\",\"SecurityGroupIDs\": \"[\\\"sg-foo\\\"]\" }"
}
],
....
}