SNAT可以為VPC內無公網IP的ECS執行個體或叢集提供訪問互連網的代理服務。如果您在建立叢集時未開啟SNAT功能,可以通過ACK控制台為已有叢集開啟SNAT功能。本文介紹如何在ACK控制台為未開啟公網訪問的叢集開啟SNAT,以實現叢集的公網訪問能力。
背景資訊
ACK暫不支援通過API方式為已有叢集開啟SNAT功能。關於SNAT相關的說明,請參見什麼是NAT Gateway。
操作步驟
為已有叢集開啟SNAT公網訪問能力的流程圖及對應操作步驟如下。
建立NAT Gateway。
在左側導覽列,單擊NAT Gateway > 公網NAT Gateway。
在公網NAT Gateway頁面,單擊建立公網NAT Gateway。
建立NAT Gateway的參數說明,請參見建立和管理公網NAT Gateway執行個體。
說明建立NAT Gateway時,地區和VPC的配置需要和叢集的保持一致。
成功建立NAT Gateway後,系統會在VPC的路由表中自動添加一條目標網段為0.0.0.0/0,下一跳為NAT Gateway的路由條目,用於將流量路由到NAT Gateway。
重要預設只有VPC的第一個NAT Gateway,才會自動建立路由條目。對於多個NAT Gateway,您需手動為其配置路由。具體操作,請參見建立和管理路由表。
建立Elastic IP Address。
在左側導覽列,選擇
,然後在Elastic IP Address頁面,單擊建立Elastic IP Address。如果您已經有Elastic IP Address,可以跳過這一步。
綁定Elastic IP Address到對應的NAT Gateway。
在左側導覽列,單擊NAT Gateway > 公網NAT Gateway。
在公網NAT Gateway頁面,找到目標NAT Gateway,然後在操作列下選擇 。
在綁定Elastic IP Address對話方塊中,在所在資源群組下拉式清單中設定資源群組,然後在從已有Elastic IP Address中選擇下拉式清單中,選擇建立的Elastic IP Address。然後單擊確定。
為NAT Gateway建立SNAT條目。
在公網NAT Gateway頁面,找到目標NAT Gateway,然後在其右側,單擊管理。
單擊SNAT管理頁簽,然後單擊建立SNAT條目。
在建立SNAT條目頁面,配置以下參數,然後單擊確定建立。
關於更多建立SNAT條目的參數配置說明,請參見建立SNAT條目。
配置
說明
SNAT條目粒度
選中交換器粒度,然後選擇相應的叢集網路所使用的虛擬交換器。
Terway網路:需要選中節點虛擬交換器和Pod虛擬交換器所對應ID。
Flannel網路:只需選中節點虛擬交換器所對應的ID。
若網路外掛程式為Terway或Flannel網路,請執行以下步驟查詢叢集網路所使用的節點虛擬交換器ID。
在控制台左側導覽列中,單擊叢集。
在叢集列表頁面中,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
在叢集管理頁左側導覽列中,選擇
。在目標節點池右側操作列單擊詳情。
在基本資料頁簽的節點配置地區查看節點虛擬交換器ID。
若網路外掛程式為Terway,請執行以下步驟查詢叢集網路所使用的Pod虛擬交換器ID。
登入Container Service管理主控台,在左側導覽列單擊叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇
。在配置項頁面頂部,設定命名空間為kube-system,單擊eni-config。
在eni-config頁面,vswitches對應的值,即為Pod虛擬交換器ID。
選擇公網IP地址
選擇用來提供互連網訪問的公網IP。
建立SNAT條目並配置SNAT規則之後,叢集就開啟了SNAT。您可以在NAT Gateway管理主控台看到NAT Gateway的詳細資料,包括SNAT使用的Elastic IP Address。下圖為Terway網路模式下開啟了SNAT公網訪問的NAT Gateway執行個體。
單擊NAT Gateway名稱,在對應NAT Gateway執行個體的SNAT管理頁簽中,查看並確認已綁定了正確的叢集所用虛擬交換器。下圖為Terway網路模式下建立的SNAT條目資訊。
執行結果
登入到叢集的節點上,然後訪問公網,可以查看網路正常,資料包無丟失。