全部產品
Search
文件中心

Container Compute Service:在Pod中訪問外部網路

更新時間:Dec 11, 2024

Pod可以訪問VPC內的資源,包括ECS、RDS、OSS、SLB等,在經過配置後也可以獲得訪問公網的能力。本文介紹如何配置源端和目的端,使得Pod可以訪問外部網路。

配置源端(Pod側)

  • 佈建網域名解析

    當訪問外部網路時,Pod會使用叢集的網域名稱解析功能解析訪問目標的IP地址,然後會經過Pod側的網路原則再進行訪問。如果網域名稱無法解析,您需要排查DNS異常問題。

  • 配置網路原則

    檢查Pod所在的命名空間是否設定網路原則,並且檢查該網路原則是否限制了Pod不能訪問目標IP地址。如果有,您需要修改網路原則。具體操作,請參見在ACS叢集中使用網路原則

  • 配置安全性群組

    檢查叢集和Pod所屬的安全性群組是否有限制Pod訪問目標IP地址的規則,確保安全性群組規則滿足以下要求:

    • 安全性群組出方向需要有允許Pod訪問目標IP地址和連接埠的規則。

    • 安全性群組出方向不能有拒絕Pod訪問目標IP地址和連接埠的規則。

配置目的端(訪問目標側)

Pod可以訪問VPC內的資源,也可以訪問公網。不同的訪問目標,Pod配置方式不同。

訪問公網

訪問方式

適用情境

對外使用的公網IP地址

配置文檔

通過公網NAT Gateway訪問公網

多個Pod

公網NAT Gateway綁定的EIP地址

為叢集開啟公網訪問能力

通過Pod綁定的EIP訪問公網

單個Pod

Pod綁定的EIP地址

為Pod掛載獨立公網EIP

訪問同一VPC中的其他雲資源

Pod訪問叢集所屬VPC中的其他雲資源(例如ECS、RDS、OSS等)時,訪問目的端可能會有一些存取控制規則限制了訪問的來源,例如安全性群組、ACL規則或白名單機制等。如果訪問目的端限制了Pod訪問時使用的IP,則會出現網路不通的問題。您需要在存取控制規則中為Pod使用的IP設定允許存取。

訪問LoadBalancer類型的Service

訪問叢集自身暴露的LoadBalancer類型的Service的地址時,無論是公網還是內網,都會被叢集內部攔截。針對此種情況,您需要修改Service的外部流量策略,合理配置Service。具體操作,請參見Kubernetes叢集中訪問LoadBalancer暴露出去的SLB地址不通