全部產品
Search
文件中心

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

更新時間:Jun 06, 2026

如果叢集內部的服務需要訪問外部公網資源,例如拉取公網鏡像、更新依賴庫等,您可以通過控制台為建立叢集或已有叢集配置SNAT Gateway功能,以便開啟叢集訪問公網的能力。

說明

如需實現叢集的公網訪問,讓外部可以通過公網訪問叢集的API Server,例如通過kubectl管理叢集等,請參見實現從公網訪問API Server使用阿里雲EIP暴露API Server

計費說明

開啟SNAT功能時會涉及以下產品:

  • NAT Gateway:阿里雲全託管的網路位址轉譯網關,通過轉換和隱藏雲端服務地址,防止地址直接暴露,實現安全訪問互連網提升網路安全性。相關計費,請參見NAT Gateway計費

  • 彈性公網 IP(EIP):可以獨立購買和持有的公網IP地址資源。當EIP和雲資源綁定後,雲資源可以通過EIP與公網通訊。相關計費,請參見隨用隨付

操作步驟

您可以在建立叢集時或在已有叢集中配置SNAT條目,使得叢集可以通過公網NAT Gateway綁定的EIP訪問互連網。

說明

ACK暫不支援通過API方式為已有叢集開啟SNAT功能。

在已有叢集中開啟

  1. 建立NAT Gateway。

    NAT Gateway地區需與叢集地區保持一致。

    1. 登入NAT Gateway管理主控台

    2. 在左側導覽列,選擇NAT网关 > 公網 NAT Gateway

    3. 公網 NAT Gateway頁面,單擊建立公網NAT Gateway,參數配置完成後,單擊立即購買。更多建立NAT Gateway的參數說明,請參見公網 NAT Gateway

      重要

      在VPC內建立第一個公網NAT Gateway時,阿里雲會在VPC的系統路由表中自動添加一條目標網段為0.0.0.0/0,下一跳為公網NAT Gateway的路由條目,用於將流量引入公網NAT Gateway。若VPC記憶體在自訂路由表或多個公網NAT Gateway,則需手動添加路由。具體操作,請參見建立和管理路由表

  2. (可選)建立Elastic IP Address。如果您已經有Elastic IP Address,可以跳過此步。

    1. 在左側導覽列,選擇公網訪問 > Elastic IP Address

    2. 然後在Elastic IP Address頁面,單擊建立Elastic IP Address,地區和NAT Gateway處於同一地區,參數設定完成後,單擊立即購買

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

    1. 在左側導覽列,選擇NAT网关 > 公網 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。

      展開查看如何擷取虛擬交換器ID

      • 擷取節點虛擬交換器ID

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

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

        3. 在節點池頁面,單擊目標節點池名稱,然後單擊基本資料頁簽,在節點配置地區查看節點虛擬交換器ID。在節點池的節點配置詳情中,找到節點虛擬交換器欄位,單擊更多展開查看完整的虛擬交換器 ID(如 vsw-m5ebr08fl***)。

      • 擷取Pod虛擬交換器ID

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

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

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

      選擇Elastic IP Address地址

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

    建立SNAT條目並配置SNAT規則之後,叢集就開啟了SNAT。您可以在NAT Gateway管理主控台查看NAT Gateway的詳細資料,包括SNAT使用的Elastic IP Address。

建立叢集時開啟

登入Container Service管理主控台建立叢集時,在網路設定地區,選中為專用網路配置 SNAT。建立叢集相關操作,請參見建立ACK託管叢集。在建立叢集頁面的網路設定地區,勾選為專用網路配置 SNAT,使叢集節點可通過 SNAT 獲得公網訪問能力。

重要

在VPC內建立第一個公網NAT Gateway時,阿里雲會在VPC的系統路由表中自動添加一條目標網段為0.0.0.0/0,下一跳為公網NAT Gateway的路由條目,用於將流量引入公網NAT Gateway。若VPC記憶體在自訂路由表或多個公網NAT Gateway,則需手動添加路由。具體操作,請參見建立和管理路由表

執行結果

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

> ping taobao.com -c 2
PING taobao.com (140.xxx.xxx.xxx): 56 data bytes
64 bytes from 140.xxx.xxx.xxx: icmp_seq=0 ttl=43 time=7.267 ms
64 bytes from 140.xxx.xxx.xxx: icmp_seq=1 ttl=43 time=12.072 ms
--- taobao.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 7.267/9.669/12.072/2.403 ms

常見問題

如何查看叢集公網IP地址?

  1. 登入NAT Gateway管理主控台

  2. 在左側導覽列,選擇NAT网关 > 公網 NAT Gateway

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

  4. 單擊SNAT管理頁簽,在SNAT條目列表地區,查看叢集使用的Elastic IP Address等資訊。單擊 SNAT管理 頁簽,在SNAT條目列表的 公網IP地址 列即可查看叢集的公網IP地址。

相關文檔