代理和防火墙规则

本页面介绍了如何为 Google Distributed Cloud for VMware(纯软件)设置代理和防火墙规则。本页面适用于负责实施防火墙等数据安全系统的网络专家。如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE Enterprise 用户角色和任务

将代理的地址列入许可名单

如果您的组织要求出站流量通过代理服务器,请将代理服务器的以下地址列入许可名单。请注意,需要 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 Google Cloud SDK 安装程序需要 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 地址,请将其地址列入代理服务器的许可名单。

管理员集群的防火墙规则

管理员集群 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

用户集群工作器节点

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 Collector,在管理员集群插件节点上运行

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 是必需的。API 服务器通过 SSH 隧道与 kubelet 进行的通信。 对于 Controlplane V2 应跳过。

管理员集群节点

1024 - 65535

管理员集群的 Seesaw 负载均衡虚拟机的 IP

20255、20257

TCP/http

负载均衡配置推送和指标监控。只有当您使用的是捆绑式 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 服务器的 VIP。

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 服务器,则此为必需参数。

用户集群节点

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

Connect Agent,在随机用户集群工作器节点上运行。

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,在随机用户集群工作器节点上运行

1024 - 65535

opsconfigmonitoring.googleapis.com kubernetesmetadata.googleapis.com

443

TCP/https

Cloud Monitoring Collector,在随机用户集群工作器节点上运行

1024 - 65535

oauth2.googleapis.com
monitoring.googleapis.com

443

TCP/https

用户集群节点

1024 - 65535

用户集群的 Seesaw 负载均衡虚拟机的 IP。

20255、20257

TCP/http

负载均衡配置推送和指标监控。只有当您使用的是捆绑式 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 服务的最终用户流量。

部署管理员工作站的 Jump 服务器

临时端口范围

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

管理员集群控制平面节点和工作器节点

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 负载均衡虚拟机的 IP

管理员集群和用户集群中都存在的 Seesaw 负载均衡 VIP

20256、20258

TCP/http/gRPC

负载均衡的健康检查。只有当您使用的是捆绑式 Seesaw 负载均衡时才需要。

管理员工作站

32768- 60999

集群控制平面的节点 IP 地址

22

TCP

如果需要能够从管理员工作站通过 SSH 访问管理员集群控制平面,则为必需。

管理员工作站 32768- 60999 releases.hashicorp.com 443 TCP/https 可选。请参阅要列入许可名单的网址列表后面的注意 3

负载平衡虚拟机 IP

32768- 60999

相应集群的节点 IP

10256:节点健康检查
30000 - 32767:healthCheckNodePort

TCP/http

节点健康检查。healthCheckNodePort 用于 externalTrafficPolicy 设置为 Local 的服务。只有当您使用的是捆绑式 Seesaw 负载均衡时才需要。

F5 Self-IP

1024 - 65535

所有管理员集群节点和所有用户集群节点

30000 - 32767

任意

适用于 F5 BIG-IP 通过虚拟服务器 VIP 负载均衡到 Kubernetes 集群节点上的节点端口的数据层面流量。

通常,F5 self-ip 与 Kubernetes 集群节点位于同一网络/子网上。