GOOGLE GKE → STACKIT SKE

Google Kubernetes Engine zu STACKIT Kubernetes Engine

GKE zieht auf die STACKIT Kubernetes Engine (SKE) um, und Ihre Workloads werden aus ihren Manifesten oder Helm-Charts neu ausgerollt. StackToIT schreibt den SKE-Cluster mit seinen Node Pools, prüft die Version gegen SKE, erhält den Löschschutz und macht aus jeder GKE-spezifischen Einstellung eine benannte Entscheidung.

Ein regionaler GKE-Cluster mit Node Pool, umgewandelt

Eine kleine Umgebung, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links die Eingabe, rechts die Ressourcenblöcke des STACKIT-Terraforms, das die Engine geschrieben hat; die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.

Beispieleingabemain.tf
resource "google_container_cluster" "platform" {
  name                     = "platform"
  location                 = "europe-west3"
  network                  = google_compute_network.platform.id
  subnetwork               = google_compute_subnetwork.gke.id
  min_master_version       = "1.32"
  remove_default_node_pool = true
  initial_node_count       = 1
  deletion_protection      = true

  release_channel {
    channel = "REGULAR"
  }

  workload_identity_config {
    workload_pool = "shop-platform-prod.svc.id.goog"
  }
}

resource "google_container_node_pool" "general" {
  name     = "general"
  cluster  = google_container_cluster.platform.id
  location = "europe-west3"

  autoscaling {
    min_node_count = 1
    max_node_count = 5
  }

  node_config {
    machine_type    = "e2-standard-8"
    disk_size_gb    = 100
    service_account = google_service_account.nodes.email
    oauth_scopes    = ["https://www.googleapis.com/auth/cloud-platform"]
  }
}
STACKIT-Terraform von StackToITterraform/kubernetes.tf
resource "stackit_ske_cluster" "platform" {
  project_id = var.project_id
  name       = "platform"
  node_pools = [{
    name               = "general"
    machine_type       = var.general_machine_type
    minimum            = var.platform_general_minimum
    maximum            = var.platform_general_maximum
    availability_zones = var.availability_zones
  }]
  kubernetes_version_min = "1.36"
  lifecycle {
    prevent_destroy = true
  }
}
  • Autoscaling je Zone explizit gemacht

    GKE zählt min_node_count und max_node_count je Zone; SKE zählt den ganzen Pool. Der Code übernimmt keine der beiden Zahlen, als wäre sie dasselbe, und fragt die Summen des Pools in zwei Variablen ab.

  • Version gegen SKE geprüft

    Die Quelle fordert Kubernetes 1.32. SKE unterstützt in eu01 1.35 und neuer; der Code fordert daher 1.36 und weist auf die vier übersprungenen Minor-Versionen hin, damit Sie entfernte APIs vorher prüfen.

  • Löschschutz erhalten

    deletion_protection wird zu lifecycle prevent_destroy am SKE-Cluster: Terraform verweigert das Zerstören, so wie der Google-Provider das Löschen des geschützten Clusters verweigert hat.

  • Release Channel

    SKE kennt keine Release Channels. Automatische Kubernetes-Updates sind eine Wartungseinstellung des Clusters und standardmäßig eingeschaltet.

Der Service Account der Nodes, umgewandelt

Aus demselben Lauf. Links die Eingabe, rechts die Ressourcenblöcke, die StackToIT geschrieben hat; die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.

Beispieleingabemain.tf
resource "google_service_account" "nodes" {
  account_id   = "gke-nodes"
  display_name = "GKE node service account"
}
STACKIT-Terraform von StackToITterraform/identity.tf
resource "stackit_service_account" "nodes" {
  project_id = var.project_id
  name       = "gke-nodes"
}
  • Ein STACKIT Service Account

    gke-nodes wird zu einem STACKIT Service Account mit demselben Namen. Seine Rollenbindungen werden zu STACKIT-Rollenzuweisungen auf dem Projekt oder auf Ressourcen.

  • Node-Einstellungen benannt

    Ein SKE Node Pool akzeptiert weder einen Service Account noch OAuth-Scopes. Der Code führt Plattengröße, Service Account und Scopes des Pools als nicht übernommen auf.

  • Maschinentyp aus der Quellgröße

    Die Variable für den Maschinentyp hält e2-standard-8 mit rund 8 vCPU und 32 GiB fest, neben dem Verweis auf die STACKIT-Maschinentypen.

Was sich um die Workloads herum ändert

  • Workload Identity

    GKE Workload Identity weicht Workload Identity auf SKE: ein STACKIT Service Account mit einem föderierten Identity Provider, der dem Service-Account-Issuer des SKE-Clusters vertraut, angelegt für jeden Kubernetes Service Account.

  • Netzwerkplatzierung

    Ein SKE-Cluster kommt in ein Netzwerk einer STACKIT Network Area, oder SKE legt selbst ein Netzwerk für den Cluster an. Der Lauf fragt, welches von beiden, denn es hängt vom Aufbau Ihrer STACKIT-Projekte ab.

  • Speicher und Ingress

    Storage Classes für Persistent Disk und GCE-Ingress werden durch ihre SKE-Gegenstücke ersetzt.

So wird die GKE-Umgebung zugeordnet

Google-Cloud-RessourceSTACKIT-ZielMigrationsklasse
GKE-Cluster mit Node PoolSKE-Cluster mit Node PoolReplatforming
VPC-NetzwerkSTACKIT-Projektnetzwerk oder Network AreaRekonfigurieren
SubnetzwerkSTACKIT-Netzwerk mit demselben IPv4-BereichRekonfigurieren
Service Account der NodesSTACKIT Service AccountRekonfigurieren

Klassen so, wie der Lauf sie entschieden hat. Das Subnetzwerk behält 10.40.0.0/20 als Präfix seines STACKIT-Netzwerks.

Bewiesen an einer echten AWS-Umgebung

Die AWS Retail Store Sample App, ein öffentliches Terraform-Projekt von AWS, von StackToIT bewertet und vollständig veröffentlicht, genau so, wie der Lauf es geschrieben hat.

Fallstudie ansehen (Englisch)
282
Terraform-Ressourcendefinitionen analysiert
44
Migrationseinheiten identifiziert
38
Zieleinheiten erzeugt, von 52 betrachteten
331
Planschritte erstellt

Fragen, die Plattformteams stellen

Werden die Node-Zahlen je Zone aus GKE nach SKE übernommen?

Nicht als dieselben Zahlen. Die Autoscaling-Grenzen von GKE gelten je Zone; Minimum und Maximum von SKE gelten für den ganzen Pool. StackToIT fragt daher die Summen ab, statt einen Wert zu kopieren, der etwas anderes bedeuten würde.

Was ersetzt GKE Workload Identity?

Workload Identity auf SKE: ein STACKIT Service Account mit einem föderierten Identity Provider, der dem Service-Account-Issuer des Clusters vertraut, einer je Kubernetes Service Account, der Cloud-APIs aufruft.

Welche Kubernetes-Version läuft auf dem SKE-Cluster?

Die niedrigste Version, die SKE in der Region auf oder über der Quellversion unterstützt. Für einen GKE-Cluster auf 1.32 ist das in eu01 die 1.36, und der Code weist auf das Upgrade hin.

Quellen

Ihr nächster Schritt: STACKIT.

Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.