Proxy 和防火牆規則

只有 VMware 叢集專用的 Google Distributed Cloud 軟體需要 Google Cloud 服務和容器登錄檔的傳出存取權,並與 vCenter Server、負載平衡器和彼此交換流量。本文列出應在 Proxy 伺服器中加入許可清單的位址,以及應為管理員叢集、使用者叢集和其他元件建立的防火牆規則,以便 Proxy 和防火牆允許這類流量。

將 Proxy 的位址加入許可清單

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

  • dl.google.com 1
  • gcr.io
  • us.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

注意事項:

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

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 以上版本中,新的高可用性管理員叢集沒有外掛程式節點。

管理員叢集外掛程式節點 (如有) 和 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 網址
使用者叢集 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

使用者叢集地端部署本機 Docker 登錄檔

取決於註冊資料庫

TCP/https

預檢 (驗證)。

如果使用者叢集設為使用本機私人 Docker 登錄檔,而非 gcr.io,則必須提供這項資訊。

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

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

管理員叢集控制層節點

32768 - 60999

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

icmp

預檢 (驗證)。

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

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

管理員叢集控制層節點

32768 - 60999

使用者叢集 worker 節點

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 收集器,在管理員叢集外掛程式節點上執行

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 登錄檔,則不需提供。

管理員叢集 worker 節點

1024 - 65535

管理員叢集 worker 節點

全部

179 - bgp

443 - https

5473 - Calico/Typha

9443 - Envoy 指標

10250 - kubelet 節點通訊埠

所有 worker 節點都必須位於相鄰的第 2 層,且不含任何防火牆。

管理員叢集節點

1024 - 65535

管理員叢集 Pod CIDR

全部

任何

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

管理員叢集 worker 節點

全部

使用者叢集節點

22

ssh

kubeception 必須提供。API 伺服器透過 SSH 通道與 kubelet 通訊。如果是 Controlplane V2,則應略過這個步驟。

管理員叢集節點

1024 - 65535

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

20255,20257

TCP/http

負載平衡器設定推送和指標監控。只有在使用 Bundled LB Seesaw 時才需要。

管理員叢集節點

1024 - 65535

管理員叢集節點

7946

TCP/UDP

MetalLB 健康狀態檢查。只有在使用 Bundled 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

使用者叢集控制層節點 (僅限 Controlplane V2) 1024 - 65535 使用者叢集節點 14443 TCP ANG Webhook 服務。如果已啟用 advancedNetworking,則為必填欄位。kube-apiserver 會與 ang-controller-manager 通訊,以便進行准入檢查。

使用者叢集 worker 節點

全部

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

443

TCP/https

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

如果使用私人 Docker 登錄檔,則不需提供。

使用者叢集 worker 節點

全部

F5 BIG-IP API

443

TCP/https

使用者叢集 worker 節點

全部

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

8443

TCP/https

Prometheus 流量。

使用者叢集 worker 節點

全部

使用者叢集 worker 節點

全部

22 - ssh

179 - bgp

443 - https

5473 - calico-typha

9443 - envoy 指標

10250 - kubelet 節點通訊埠

所有 worker 節點都必須位於相鄰的第 2 層,且不含任何防火牆。

使用者叢集 worker 節點

全部

使用者控制層 VIP

443

TCP/https

使用者叢集 worker 節點

全部

使用者控制層 VIP

8132

GRPC

kubeception 必須提供。Konnectivity 連線。如果是 Controlplane V2,則應略過這個步驟。

管理員叢集節點

全部

使用者叢集 vCenter Server

443

https

允許管理員叢集管理使用者叢集的生命週期。如果管理員和使用者叢集有不同的 vCenter Server,則必須提供這項資訊。

管理員叢集節點 1024 - 65535 使用者叢集節點 14443 TCP ANG Webhook 服務。如果已啟用 advancedNetworking,則為必填欄位。kube-apiserver 會與 ang-controller-manager 通訊,以便進行准入檢查。

使用者叢集節點

1024 - 65535

使用者叢集 Pod CIDR

全部

任何

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

Cloud Logging 收集器,在隨機使用者叢集 worker 節點上執行

1024 - 65535

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

443

TCP/https

Connect 代理程式,在隨機使用者叢集 worker 節點上執行。

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

Connect 流量。請參閱許可清單網址清單下方的附註 2。

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

1024 - 65535

opsconfigmonitoring.googleapis.com kubernetesmetadata.googleapis.com

443

TCP/https

Cloud Monitoring 收集器,在隨機使用者叢集 worker 節點上執行

1024 - 65535

oauth2.googleapis.com
monitoring.googleapis.com

443

TCP/https

使用者叢集節點

1024 - 65535

使用者叢集的 Seesaw LB VM IP

20255,20257

TCP/http

負載平衡器設定推送和指標監控。只有在使用 Bundled LB Seesaw 時才需要。

enableLoadBalancer=true 的使用者叢集節點

1024 - 65535

enableLoadBalancer=true 的使用者叢集節點

7946

TCP/UDP

MetalLB 健康狀態檢查。只有在使用 Bundled 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 (mgt) 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 網址

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 網址
使用者叢集 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 (mgt) IP

443

TCP/https

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

管理員工作站

32768 - 60999

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

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

443

TCP/https

建立管理員叢集。

更新管理員叢集。

建立使用者叢集。

使用者叢集更新。

刪除使用者叢集。

管理員工作站

32768 - 60999

管理員叢集控制層節點和 worker 節點

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 LB VM 的 IP

管理員和使用者叢集的 Seesaw LB VIP

20256,20258

TCP/http/gRPC

負載平衡器的健康狀態檢查。只有在使用 Bundled LB Seesaw 時才需要。

管理員工作站

32768 - 60999

叢集控制層的節點 IP

22

TCP

如要從管理員工作站透過 SSH 存取管理員叢集控制層,則必須提供這項資訊。

管理員工作站 32768 - 60999 releases.hashicorp.com 443 TCP/https 選用。請參閱要加入許可清單的網址清單後方的附註 3。

LB VM IP

32768 - 60999

對應叢集的節點 IP

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

TCP/http

節點健康狀態檢查。healthCheckNodePort 適用於 externalTrafficPolicy 設為 Local 的 Service。只有在使用 Bundled LB Seesaw 時才需要。

F5 Self-IP

1024 - 65535

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

30000 - 32767

任何

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

一般來說,F5 自行 IP 與 Kubernetes 叢集節點位於相同的網路/子網路。