全部產品
Search
文件中心

Container Service for Kubernetes:為已有叢集開啟公網訪問能力

更新時間:Nov 15, 2024

SNAT可以為VPC內無公網IP的ECS執行個體或叢集提供訪問互連網的代理服務。如果您在建立叢集時未開啟SNAT功能,可以通過ACK控制台為已有叢集開啟SNAT功能。本文介紹如何在ACK控制台為未開啟公網訪問的叢集開啟SNAT,以實現叢集的公網訪問能力。

背景資訊

ACK暫不支援通過API方式為已有叢集開啟SNAT功能。關於SNAT相關的說明,請參見什麼是NAT Gateway

操作步驟

為已有叢集開啟SNAT公網訪問能力的流程圖及對應操作步驟如下。

建立SNAT

  1. 建立NAT Gateway。

    1. 登入NAT Gateway管理主控台

    2. 在左側導覽列,單擊NAT Gateway > 公網NAT Gateway

    3. 公網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,您需手動為其配置路由。具體操作,請參見建立和管理路由表

  2. 建立Elastic IP Address。

    在左側導覽列,選擇公網訪問 > Elastic IP Address,然後在Elastic IP Address頁面,單擊建立Elastic IP Address

    如果您已經有Elastic IP Address,可以跳過這一步。

  3. 綁定Elastic IP Address到對應的NAT Gateway。

    1. 在左側導覽列,單擊NAT Gateway > 公網NAT Gateway

    2. 公網NAT Gateway頁面,找到目標NAT Gateway,然後在操作列下選擇1 > 綁定Elastic IP Address

    3. 綁定Elastic IP Address對話方塊中,在所在資源群組下拉式清單中設定資源群組,然後在從已有Elastic IP Address中選擇下拉式清單中,選擇建立的Elastic IP Address。然後單擊確定

  4. 為NAT Gateway建立SNAT條目。

    1. 公網NAT Gateway頁面,找到目標NAT Gateway,然後在其右側,單擊管理

    2. 單擊SNAT管理頁簽,然後單擊建立SNAT條目

    3. 建立SNAT條目頁面,配置以下參數,然後單擊確定建立

      關於更多建立SNAT條目的參數配置說明,請參見建立SNAT條目

      配置

      說明

      SNAT條目粒度

      選中交換器粒度,然後選擇相應的叢集網路所使用的虛擬交換器。

      • Terway網路:需要選中節點虛擬交換器和Pod虛擬交換器所對應ID。

      • Flannel網路:只需選中節點虛擬交換器所對應的ID。

      若網路外掛程式為Terway或Flannel網路,請執行以下步驟查詢叢集網路所使用的節點虛擬交換器ID。

      1. 登入Container Service管理主控台

      2. 在控制台左側導覽列中,單擊叢集

      3. 叢集列表頁面中,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

      4. 在叢集管理頁左側導覽列中,選擇節點管理 > 節點池

      5. 在目標節點池右側操作列單擊詳情

        基本資料頁簽的節點配置地區查看節點虛擬交換器ID。Flannel網路

      若網路外掛程式為Terway,請執行以下步驟查詢叢集網路所使用的Pod虛擬交換器ID。

      1. 登入Container Service管理主控台,在左側導覽列單擊叢集

      2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇組態管理 > 配置項

      3. 配置項頁面頂部,設定命名空間kube-system,單擊eni-config

        eni-config頁面,vswitches對應的值,即為Pod虛擬交換器ID。

        Pod虛擬交換器ID

      選擇公網IP地址

      選擇用來提供互連網訪問的公網IP。

    建立SNAT條目並配置SNAT規則之後,叢集就開啟了SNAT。您可以在NAT Gateway管理主控台看到NAT Gateway的詳細資料,包括SNAT使用的Elastic IP Address。下圖為Terway網路模式下開啟了SNAT公網訪問的NAT Gateway執行個體。NAT

    單擊NAT Gateway名稱,在對應NAT Gateway執行個體的SNAT管理頁簽中,查看並確認已綁定了正確的叢集所用虛擬交換器。下圖為Terway網路模式下建立的SNAT條目資訊。snat

執行結果

登入到叢集的節點上,然後訪問公網,可以查看網路正常,資料包無丟失。

SNAT 2