Blog

Bereitstellung in einem privaten GKE-Cluster mit Connect Gateway

Laurens Knoll

Aktualisiert Oktober 15, 2025
2 Minuten

Der Einsatz von privaten GKE-Clustern war aufgrund von Netzwerkproblemen immer mühsam. Zum Glück gehören diese Zeiten der Vergangenheit an, denn Connect Gateway überwindet diese Konnektivitätsprobleme.

Der Schmerz der privaten GKE-Cluster

Jeder möchte eine sichere Umgebung. Daher verbirgt jeder den Kubernetes-API-Server vor dem öffentlichen Internet - ein so genannter privater Cluster. Ohne eine öffentliche IP-Adresse ist ein anderer Weg erforderlich, um Kubernetes-Workloads bereitzustellen. Dieser Weg wird in der Regel mit einem Bastion-Host, durch die Konfiguration einer hybriden Konnektivität oder durch die Ausführung von einsatzspezifischen Arbeitslasten (die als Proxys fungieren) implementiert. Bei diesen Implementierungen müssen Sie sich mit dem richtigen Server und/oder Netzwerk verbinden, bevor Sie mit Ihrem Kubernetes-Cluster interagieren können. Ein zusätzlicher Schritt, der Entwickler und/oder Techniker häufig verwirrt, weil sie die gesamte Netzwerktopologie nicht kennen - und auch nicht kennen wollen -, insbesondere wenn sie mit mehreren Kubernetes-Clustern arbeiten.

Ein universeller Anschluss für GKE-Cluster

Das Connect Gateway verwendet Flotten, um Ihnen eine einfache, konsistente und sichere Verbindung und Interaktion mit Kubernetes-Clustern zu ermöglichen. Das Connect Gateway nutzt die Feinheiten der Flottenmitgliedschaft, um sich für Sie mit dem Kubernetes-Cluster zu verbinden. Das Einzige, was Sie tun müssen, ist, eine Zugangsberechtigung für ein bestimmtes Flottenmitglied anzufordern und Ihren Befehl auszuführen.

gcloud container fleet memberships get-credentials member-cluster
kubectl get pods

Beachten Sie die Einschränkungen von Connect Gateway. Die Befehle exec, proxy, attach und port-forward werden nicht unterstützt.

Terraform Private GKE-Cluster-Bereitstellung

Es ist zwar bequem, lokal mit einem Cluster zu interagieren. Die wahre Stärke liegt in der Automatisierung. Im folgenden Beispiel wird ein Ubuntu-Pod mithilfe von Terraform in einem privaten GKE-Cluster bereitgestellt.

Das vollständige Beispiel finden Sie auf GitHub.

resource "google_gke_hub_membership" "example" {
  membership_id = "example"

  endpoint {
    gke_cluster {
     resource_link = google_container_cluster.example.id
    }
  }

  authority {
    issuer = "https://container.googleapis.com/v1/${google_container_cluster.example.id}"
  }
}

provider "kubernetes" {
  host = "https://connectgateway.googleapis.com/v1/projects/${data.google_project.project.number}/locations/global/gkeMemberships/${google_gke_hub_membership.example.membership_id}"

  # Assumes a Kubernetes cluster version of 1.26+
  exec {
    api_version = "client.authentication.k8s.io/v1beta1"
    command     = "gke-gcloud-auth-plugin"
  }
}

resource "kubernetes_pod" "ubuntu" {
  metadata {
    namespace = "default"
    name = "ubuntu"
  }

  spec {
    container {
      name  = "ubuntu"
      image = "ubuntu:latest"
    }
  }
}

Beachten Sie, dass die einzige Konfigurationsänderung beim Kubernetes-Provider stattfindet. Anstatt auf die interne Kubernetes-API-Adresse zu verweisen, wird die Connect Gateway API verwendet.

Fazit

Die Verbindung zu Ihrem GKE-Cluster ist nicht länger ein Problem. Anstatt selbst den richtigen Bastion-Host, Proxy oder die richtige Netzwerkkonfiguration zu finden, lassen Sie sich von Connect Gateway verbinden.

Bild von Jiří Rotrekl aus Pixabay

Verfasst von

Laurens Knoll

As a cloud consultant I enjoy improving what your company does best. I enable your business using cloud technology and enable your engineers by applying software engineering practices to your infrastructure domain.

Contact

Let’s discuss how we can support your journey.