Proxy 和防火牆規則

本頁面說明如何為 VMware 專用的 Google Distributed Cloud (僅限軟體) 設定 Proxy 和防火牆規則。本頁內容適用於負責實作防火牆等資料安全防護系統的網路專家。如要進一步瞭解我們在 Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。

將 Proxy 位址加入許可清單

如果貴機構要求傳出流量必須通過 Proxy 伺服器,請在 Proxy 伺服器中將下列位址加入許可清單。請注意,您需要 www.googleapis.com,而非 googleapis.com

  • dl.google.com 1
  • gcr.io
  • www.googleapis.com
  • accounts.google.com
  • anthos.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • compute.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com 2
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • gkeonprem.mtls.googleapis.com
  • iam.googleapis.com
  • iamcredentials.googleapis.com
  • kubernetesmetadata.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • oauth2.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • securetoken.googleapis.com
  • servicecontrol.googleapis.com
  • serviceusage.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com
  • releases.hashicorp.com (選用) 3

注意事項

1 SDK 安裝程式需要 dl.google.com。 Google Cloud

2 如果叢集是使用 Google Cloud 區域向車隊註冊,您需要將 REGION-gkeconnect.googleapis.com (例如 us-central1-gkeconnect.googleapis.com) 加入允許清單。如果未指定區域,叢集會使用全域 Connect 服務執行個體,您需要將 gkeconnect.googleapis.com 加入允許清單。如要找出叢集的車隊成員位置,請執行 gcloud container fleet memberships list。詳情請參閱gkeConnect.location

3 如果您未使用管理工作站上的 Terraform 用戶端執行 terraform apply 等指令,則不需要將 releases.hashicorp.com 加入允許清單。如果您在管理工作站上使用 Terraform 用戶端,可以選擇將 releases.hashicorp.com 加入允許清單,以便執行 terraform version 指令,檢查您使用的 Terraform 用戶端版本是否為最新版本。

此外,如果 vCenter Server 具有外部 IP 位址,請在 Proxy 伺服器中將該位址加入許可清單。

管理員叢集的防火牆規則

管理員叢集 IP 位址取決於使用者叢集是否已啟用 Controlplane V2,以及叢集建立時的版本。

  • 啟用 Controlplane V2 後,使用者叢集的控制層會在使用者叢集本身執行。如果未啟用 Controlplane V2,使用者叢集的控制層會在管理員叢集的一或多個節點上執行,這稱為 kubeception。

  • 在 1.28 以上版本中,新的 HA 管理員叢集沒有外掛程式節點。

管理員叢集附加元件節點 (如有) 和 kubeception 使用者叢集控制層節點的 IP 位址,會列在管理員叢集 IP 區塊檔案中。管理員叢集控制層節點是在管理員叢集設定檔的 network.controlPlaneIPBlock.ips 區段中設定。

由於管理員叢集 IP 區塊檔案中的 IP 位址未指派給特定節點,因此您必須確保下表列出的所有防火牆規則都適用於管理員叢集可用的所有 IP 位址。

設定防火牆規則,允許下列流量。

寄件者

來源通訊埠

收件者

通訊埠

通訊協定

說明

管理員叢集控制層節點

1024 - 65535

vCenter Server API

443

TCP/https

調整叢集大小。

管理員叢集外掛程式節點

1024 - 65535

vCenter Server API

443

TCP/https

管理使用者叢集生命週期。

管理員叢集外掛程式節點

32768- 60999

管理員叢集的 Kubernetes API 伺服器 VIP

使用者叢集 Kubernetes API 伺服器的 VIP

443

TCP/https

建立使用者叢集。

更新使用者叢集。

使用者叢集升級。

已刪除使用者叢集。

管理員叢集控制層節點

32768- 60999

gcr.io
cloudresourcemanager.googleapis.com
compute.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
管理員或使用者叢集啟用服務所需的任何 *.googleapis.com URL
使用者叢集 Kubernetes API 伺服器的 VIP
管理員叢集 Kubernetes API 伺服器的 VIP
vCenter Server API
管理員叢集 F5 BIG_IP API
使用者叢集 F5 BIG_IP API
管理員叢集 NTP 伺服器
使用者叢集 NTP 伺服器
管理員叢集 DNS 伺服器
使用者叢集 DNS 伺服器

443

TCP/https

預檢 (驗證)。

建立、更新或升級使用者叢集時。

建立、更新或升級管理員叢集時。

管理員叢集控制層節點

32768- 60999

使用者叢集 On-premises local Docker registry

視註冊機構而定

TCP/https

預檢 (驗證)。

如果使用者叢集設定為使用本機私密 Docker 登錄檔 (而非 gcr.io),則為必要條件。

建立或升級使用者叢集時。

建立或升級管理員叢集時。

管理員叢集控制層節點

32768- 60999

管理員叢集節點
使用者叢集節點
管理員叢集負載平衡器 VIP
使用者叢集負載平衡器 VIP

icmp

預檢 (驗證)。

建立、更新或升級使用者叢集時。

建立、更新或升級管理員叢集時。

管理員叢集控制層節點

32768- 60999

使用者叢集工作站節點

22

ssh

預檢 (驗證)。

升級使用者叢集時。

升級管理員叢集時。

使用者叢集控制層節點 (僅限 kubeception)

1024 - 65535

vCenter Server API

443

TCP/https

調整叢集大小。

使用者叢集控制層節點 (僅限 kubeception)

1024 - 65535

cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com 或 REGION-gkeconnect.googleapis.com
gkehub.googleapis.com

443

TCP/https

如要註冊車隊,必須具備存取權。請參閱允許清單網址清單後的 附註 2

使用者叢集控制層節點 (僅限 kubeception)

1024 - 65535

F5 BIG-IP API

443

TCP/https

使用者叢集控制層節點 (僅限 kubeception)

1024 - 65535

地端本機 Docker 登錄檔

視註冊機構而定

TCP/https

如果 Google Distributed Cloud 設定為使用本機私人 Docker 登錄檔 (而非 gcr.io),則必須提供這項資訊。

使用者叢集控制層節點 (僅限 kubeception)

1024 - 65535

gcr.io
oauth2.googleapis.com
storage.googleapis.com
管理員叢集啟用服務所需的任何 *.googleapis.com 網址
443

TCP/https

從公開 Docker 登錄檔下載映像檔。

如果使用私密 Docker 登錄檔,則不需要此步驟。

Cloud Logging 收集器,在管理員叢集的外掛程式節點上執行

1024 - 65535

oauth2.googleapis.com
logging.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com

443

TCP/https

Cloud Metadata Collector,在管理員叢集外掛程式節點上執行

1024 - 65535

opsconfigmonitoring.googleapis.com

443

TCP/https

Cloud Monitoring Collector,在管理員叢集的外掛程式節點上執行

1024 - 65535

oauth2.googleapis.com
monitoring.googleapis.com

443

TCP/https

管理員叢集控制層節點

1024 - 65535

F5 BIG-IP API

443

TCP/https

管理員叢集控制層節點

1024 - 65535

地端本機 Docker 登錄檔

視註冊機構而定

TCP/https

如果 Google Distributed Cloud 設定為使用本機私人 Docker 登錄檔 (而非 gcr.io),則必須提供這項資訊。

管理員叢集控制層節點

1024 - 65535

gcr.io
oauth2.googleapis.com
storage.googleapis.com
管理員叢集啟用服務所需的任何 *.googleapis.com 網址

443

TCP/https

從公開 Docker 登錄檔下載映像檔。

如果使用私密 Docker 登錄檔,則不需要。

管理員叢集工作站節點

1024 - 65535

管理員叢集工作站節點

全部

179 - bgp

443 - https

5473 - Calico/Typha

9443 - Envoy 指標

10250 - kubelet 節點通訊埠

所有工作站節點都必須是第 2 層鄰近節點,且不得有任何防火牆。

管理員叢集節點

1024 - 65535

管理員叢集 Pod CIDR

全部

不限

外部流量會在第一個節點上進行 SNAT,然後傳送至 Pod IP。

管理員叢集工作站節點

全部

使用者叢集節點

22

ssh

kubeception 必須使用這項屬性。透過 SSH 通道在 API 伺服器與 kubelet 之間通訊。如果是 Controlplane V2,則應略過這項操作。

管理員叢集節點

1024 - 65535

管理員叢集的 Seesaw 負載平衡器 VM IP

20255、20257

TCP/http

LB 設定推送和指標監控。如果您使用 Bundled LB Seesaw,才需要這個檔案。

管理員叢集節點

1024 - 65535

管理員叢集節點

7946

TCP/UDP

MetalLB 健康狀態檢查。只有在使用隨附的 LB MetalLB 時才需要。

管理員叢集節點

全部

使用者叢集控制層 VIP

443

https

這是 Controlplane V2 的必要條件。允許管理員叢集中的節點和 Pod 與使用者叢集的 Kubernetes API 伺服器通訊。

管理員叢集節點

全部

使用者叢集控制層節點

443

https

這是 Controlplane V2 的必要條件。允許管理員叢集中的節點和 Pod 使用使用者叢集控制層節點的 IP 位址,與使用者叢集的 Kubernetes API 伺服器通訊。

使用者叢集節點的防火牆規則

使用者叢集節點的 IP 位址會列在 IP 位址區塊檔案中。

與管理員叢集節點一樣,您不知道哪個節點會使用哪個 IP 位址。因此,使用者叢集節點中的所有規則都會套用至每個使用者叢集節點。

寄件者

來源通訊埠

收件者

通訊埠

通訊協定

說明

使用者叢集控制層節點 (僅限 Controlplane V2)

1024 - 65535

vCenter Server API

443

TCP/https

調整叢集大小。

使用者叢集控制層節點 (僅限 Controlplane V2)

1024 - 65535

cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com 或 REGION-gkeconnect.googleapis.com
gkehub.googleapis.com

443

TCP/https

如要註冊車隊,必須具備存取權。請參閱允許清單網址清單後的 附註 2

使用者叢集控制層節點 (僅限 Controlplane V2)

1024 - 65535

地端本機 Docker 登錄檔

視註冊機構而定

TCP/https

如果 Google Distributed Cloud 設定為使用本機私人 Docker 登錄檔 (而非 gcr.io),則必須提供這項資訊。

使用者叢集控制層節點 (僅限 Controlplane V2)

1024 - 65535

gcr.io
oauth2.googleapis.com
storage.googleapis.com
管理員叢集啟用服務所需的任何 *.googleapis.com 網址
443

TCP/https

從公開 Docker 登錄檔下載映像檔。

如果使用私密 Docker 登錄檔,則不需要此步驟。

使用者叢集控制層節點 (僅限 Controlplane V2)

1024 - 65535

F5 BIG-IP API

443

TCP/https

使用者叢集工作站節點

全部

gcr.io
oauth2.googleapis.com
storage.googleapis.com
這個叢集啟用服務所需的任何 *.googleapis.com 網址

443

TCP/https

從公開 Docker 登錄檔下載映像檔。

如果使用私密 Docker 登錄檔,則不需要。

使用者叢集工作站節點

全部

F5 BIG-IP API

443

TCP/https

使用者叢集工作站節點

全部

在管理員叢集中執行的 pushprox 伺服器虛擬 IP。

8443

TCP/https

Prometheus 流量。

使用者叢集工作站節點

全部

使用者叢集工作站節點

全部

22 - ssh

179 - bgp

443 - https

5473 - calico-typha

9443 - envoy 指標

10250 - kubelet 節點通訊埠」

所有工作站節點都必須是第 2 層鄰近節點,且不得有任何防火牆。

使用者叢集工作站節點

全部

使用者控制層 VIP

443

TCP/https

使用者叢集工作站節點

全部

使用者控制層 VIP

8132

GRPC

kubeception 必須使用這項屬性。Konnectivity 連線。如果是 Controlplane V2,則應略過這項操作。

管理員叢集節點

全部

使用者叢集 vCenter Server

443

https

允許管理員叢集管理使用者叢集的生命週期。 如果管理員和使用者叢集有不同的 vCenter Server,則為必要步驟。

使用者叢集節點

1024 - 65535

使用者叢集 Pod CIDR

全部

不限

外部流量會在第一個節點上進行 SNAT,然後傳送至 Pod IP。

Cloud Logging Collector,在隨機使用者叢集工作站節點上執行

1024 - 65535

oauth2.googleapis.com
logging.googleapis.com
servicecontrol.googleapis.com
www.googleapis.com

443

TCP/https

連線代理程式,會在隨機使用者叢集工作站節點上執行。

1024 - 65535

cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com 或 REGION-gkeconnect.googleapis.com
gkehub.googleapis.com
www.googleapis.com
iam.googleapis.com
iamcredentials.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
sts.googleapis.com
accounts.google.com

443

TCP/https

連結 流量。 請參閱網址允許清單後方的 附註 2

Cloud Metadata Collector,在隨機使用者叢集工作站節點上執行

1024 - 65535

opsconfigmonitoring.googleapis.com kubernetesmetadata.googleapis.com

443

TCP/https

Cloud Monitoring 收集器,會在隨機使用者叢集工作站節點上執行

1024 - 65535

oauth2.googleapis.com
monitoring.googleapis.com

443

TCP/https

使用者叢集節點

1024 - 65535

使用者叢集的 Seesaw 負載平衡器 VM IP

20255、20257

TCP/http

LB 設定推送和指標監控。如果您使用 Bundled LB Seesaw,才需要這個檔案。

使用者叢集節點 (enableLoadBalancer=true)

1024 - 65535

使用者叢集節點 (enableLoadBalancer=true)

7946

TCP/UDP

MetalLB 健康狀態檢查。只有在使用隨附的 LB MetalLB 時才需要。

使用者叢集網路

全部

使用者叢集控制層 VIP

443

TCP/https

其餘元件的防火牆規則

這些規則適用於管理員叢集和使用者叢集節點表格中未列出的所有其他元件。

寄件者

來源通訊埠

收件者

通訊埠

通訊協定

說明

管理員叢集 Pod CIDR

1024 - 65535

管理員叢集 Pod CIDR

全部

不限

Pod 間流量會直接使用 Pod CIDR 內的來源和目的地 IP 進行 L2 轉送。

管理員叢集 Pod CIDR

1024 - 65535

管理員叢集節點

全部

不限

外部流量的回訪流量。

使用者叢集 Pod CIDR

1024 - 65535

使用者叢集 Pod CIDR

全部

不限

Pod 間流量會直接使用 Pod CIDR 內的來源和目的地 IP 進行 L2 轉送。

使用者叢集 Pod CIDR

1024 - 65535

使用者叢集節點

全部

不限

外部流量的回訪流量。

客戶和應用程式使用者

全部

Istio Ingress 的 VIP

80、443

TCP

使用者叢集 Ingress 服務的使用者流量。

用來部署管理員工作站的跳板伺服器

暫時通訊埠範圍

vCenter Server API
目標叢集中主機的 ESXi VMkernel (管理) IP

443

TCP/https

使用 `cat /proc/sys/net/ipv4/ip_local_port_range` 檢查暫時通訊埠範圍。

管理員工作站

32768- 60999

gcr.io
cloudresourcemanager.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
這個叢集啟用服務所需的任何 *.googleapis.com URL

443

TCP/https

從公開 Docker 登錄檔下載 Docker 映像檔。

管理員工作站

32768- 60999

gcr.io
cloudresourcemanager.googleapis.com
compute.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
管理員或使用者叢集啟用服務所需的任何 *.googleapis.com URL
使用者叢集 Kubernetes API 伺服器的 VIP
管理員叢集 Kubernetes API 伺服器的 VIP
vCenter Server API
F5 BIG-IP API

443

TCP/https

預檢 (驗證)。

使用 gkectl 建立、更新、升級或刪除叢集時。

管理員工作站

32768- 60999

vCenter Server API

F5 BIG-IP API

443

TCP/https

建立管理員叢集。

建立使用者叢集。

管理員工作站

32768- 60999

目標叢集中主機的 ESXi VMkernel (管理) IP

443

TCP/https

管理員工作站會透過 ESXi 主機,將 OVA 上傳至資料儲存庫。

管理員工作站

32768- 60999

管理員叢集的 Kubernetes API 伺服器 VIP

使用者叢集 Kubernetes API 伺服器的 VIP

443

TCP/https

建立管理員叢集。

更新管理員叢集。

建立使用者叢集。

更新使用者叢集。

已刪除使用者叢集。

管理員工作站

32768- 60999

管理員叢集控制層節點和工作站節點

443

TCP/https

建立管理員叢集。

控制層升級。

管理員工作站

32768- 60999

所有管理員叢集節點和所有使用者叢集節點

443

TCP/https

網路驗證是 gkectl check-config 指令的一部分。

管理員工作站

32768- 60999

管理員叢集 Istio Ingress 的 VIP

使用者叢集 Istio Ingress 的 VIP

443

TCP/https

網路驗證是 gkectl check-config 指令的一部分。

管理員工作站

32768- 60999

oauth2.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com

443

TCP/https

Cloud Logging 和 Monitoring 存取權。

管理員工作站

32768- 60999

管理員和使用者叢集中的 Seesaw 負載平衡器 VM IP

管理員和使用者叢集的 Seesaw 負載平衡器 VIP

20256、20258

TCP/http/gRPC

負載平衡器的健康狀態檢查。如果您使用 Bundled LB Seesaw,才需要這個檔案。

管理員工作站

32768- 60999

叢集控制層的節點 IP

22

TCP

如果您需要從管理工作站透過 SSH 存取管理叢集控制平面,則必須執行這項操作。

管理員工作站 32768- 60999 releases.hashicorp.com 443 TCP/https (選用步驟) 請參閱網址許可清單後的 附註 3

負載平衡器 VM IP

32768- 60999

對應叢集的節點 IP

10256:節點健康狀態檢查
30000 - 32767:healthCheckNodePort

TCP/http

節點健康狀態檢查。healthCheckNodePort 適用於 externalTrafficPolicy 設為 Local 的服務。如果您使用 Bundled LB Seesaw,才需要這個檔案。

F5 Self-IP

1024 - 65535

所有管理員和使用者叢集節點

30000 - 32767

不限

F5 BIG-IP 會透過虛擬伺服器 VIP,將資料平面流量負載平衡至 Kubernetes 叢集節點上的節點連接埠。

通常 F5 自我 IP 與 Kubernetes 叢集節點位於相同的網路/子網路。