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