GKE-Autopilot, manueller Load Balancer und Firewall-Regeln

GKE-Autopilot, manueller Load Balancer und Firewall-Regeln

Ich habe diesen GKE-Autopilot-Cluster und versuche, einen Load Balancer für seine Dienste einzurichten. Der Vorbehalt ist: Anstatt einen Ingress für den Cluster zu definieren, der den LB und alle zugehörigen Konfigurationen erstellen würde, muss ich einen LB manuell definieren.

GKE erstellt alle NEGs, die ich brauche, und ich weise vorhandene Cluster einfach als Backends auf sie hin, und es funktioniert einwandfrei.

Das Problem: Ich kann nicht manuell eine Firewall-Regel erstellen, die es den Health-Check-Netzwerken ermöglicht, die Pods zu erreichen, da die Regel als Ziel einen TAG erwartet, Autopilot GKE jedoch alle Informationen zu seinen Knoten verbirgt, z. B. die automatisch erstellten Tags.

Dies ist ein Beispiel für eine Firewall-Regel, die vom GKE-Ingress-Controller erstellt wurde:

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

Ich könnte eine Firewall-Regel erstellen, die auf das gesamte VPC/Subnetz abzielt, aber wie erreiche ich die Knotengranularität innerhalb eines Autopilot-Clusters, wenn ich den TAG nicht kenne, den die Knoten erhalten?

Antwort1

Die automatisch erstellte Firewall-Regel kann mit dem folgenden Befehl angezeigt werden:

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

Mit dem folgenden Befehl können Sie jedoch die Firewall-Regeln aktualisieren und die gewünschten Ziel-Tags hinzufügen:

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

Da Tags von Google verwaltet werden, ist es nicht möglich, sie in einem beliebigen Autopilot-Knoten festzulegen. Stattdessen müssen Sie Ihren Cluster als Standardcluster konfigurieren.

verwandte Informationen