GKE 自动驾驶仪、手动负载均衡器和防火墙规则

GKE 自动驾驶仪、手动负载均衡器和防火墙规则

我有这个 GKE 自动驾驶仪集群,我正在尝试为其服务设置负载均衡器。需要注意的是:我必须手动定义一个 LB,而不是为集群定义一个 Ingress(这将创建 LB 和所有相关配置)。

GKE 创建了我需要的所有 NEG,我只是将现有集群指向它们作为后端,它运行良好。

问题:我无法手动创建允许健康检查网络到达 pod 的防火墙规则,因为该规则希望接收 TAG 作为其目标,但自动驾驶仪 GKE 隐藏了其节点的所有信息,例如自动创建的标签。

这是 GKE 入口控制器创建的防火墙规则示例:

Name: gke-autopilot-gke-cluster-XXXXX-xxxxx-egress
Target: gke-autopilot-gke-cluster-XXXXXX-node

我可以创建针对整个 VPC/子网的防火墙规则,但是如果我不知道节点将获得的 TAG,如何实现自动驾驶仪集群内的节点粒度?

答案1

可以通过以下命令查看自动创建的防火墙规则:

gcloud compute firewall-rules list --filter="name=gke-autopilot" --format=json

虽然下面的命令可以用来更新防火墙规则并添加所需的目标标签:

gcloud compute firewall-rules update firewall-rule-name \ --target-tags=tag-name

由于标签由 Google 维护,因此无法在任何自动驾驶节点中设置它们;相反,您必须将集群配置为标准集群。

相关内容