GOOGLE GKE → STACKIT SKE

Google Kubernetes Engine naar STACKIT Kubernetes Engine

GKE gaat naar STACKIT Kubernetes Engine (SKE), en uw workloads worden opnieuw uitgerold vanuit hun manifests of Helm-charts. StackToIT schrijft het SKE-cluster met de nodepools, toetst de versie aan SKE, behoudt de beveiliging tegen verwijderen en maakt van elke GKE-specifieke instelling een benoemde beslissing.

Een regionaal GKE-cluster en een nodepool, omgezet

Een kleine omgeving die voor deze pagina is geschreven en op 4 november 2026 door StackToIT is beoordeeld. Links: de invoer. Rechts: de resourceblokken van de STACKIT-Terraform die de engine schreef; de reviewcommentaren boven elk blok in het bestand zijn hier weggelaten.

Voorbeeldinvoermain.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 van 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 per zone expliciet gemaakt

    GKE telt min_node_count en max_node_count per zone; SKE telt de hele pool. De code neemt geen van beide getallen over alsof ze hetzelfde zijn en vraagt u in twee variabelen om de totalen van de pool.

  • Versie getoetst aan SKE

    De bron vraagt om Kubernetes 1.32. SKE in eu01 biedt 1.35 en nieuwer, maar de lifecycledata van de run geeft 1.35 nog geen supportstatus, dus de code vraagt om 1.36, de laagste versie boven de bron die als ondersteund is gemarkeerd, en wijst op de vier minorversies die daarbij worden doorlopen, zodat u eerst op verwijderde API’s controleert.

  • Beveiliging tegen verwijderen behouden

    deletion_protection wordt lifecycle prevent_destroy op het SKE-cluster: Terraform weigert het te vernietigen, zoals de Google-provider weigerde het beschermde cluster te verwijderen.

  • Release channel

    SKE kent geen release channels. Automatische Kubernetes-updates zijn een onderhoudsinstelling van het cluster, standaard ingeschakeld.

Het service account van de nodes, omgezet

Uit dezelfde run. Links: de invoer. Rechts: de resourceblokken die StackToIT schreef; de reviewcommentaren boven elk blok in het bestand zijn hier weggelaten.

Voorbeeldinvoermain.tf
resource "google_service_account" "nodes" {
  account_id   = "gke-nodes"
  display_name = "GKE node service account"
}
STACKIT-Terraform van StackToITterraform/identity.tf
resource "stackit_service_account" "nodes" {
  project_id = var.project_id
  name       = "gke-nodes"
}
  • Een STACKIT-service account

    gke-nodes wordt een STACKIT-service account met dezelfde naam. De rolbindingen worden STACKIT-roltoewijzingen op het project of op resources.

  • Node-instellingen benoemd

    Een SKE-nodepool accepteert geen service account of OAuth-scopes. De code noemt de schijfgrootte, het service account en de scopes van de pool als niet overgenomen.

  • Machinetype uit de brongrootte

    De variabele voor het machinetype legt e2-standard-8 vast als ongeveer 8 vCPU en 32 GiB, naast de link naar de machinetypen van STACKIT.

Wat er rond de workloads verandert

  • Workload Identity

    GKE Workload Identity maakt plaats voor Workload Identity op SKE: een STACKIT-service account met een gefedereerde identity provider die de service account-issuer van het SKE-cluster vertrouwt, aangemaakt voor elk Kubernetes-service account.

  • Netwerkplaatsing

    Een SKE-cluster sluit aan op een netwerk in een STACKIT Network Area, of SKE maakt zelf een netwerk voor het cluster. De run vraagt welke, want dat hangt af van de indeling van uw STACKIT-projecten.

  • Opslag en ingress

    Storage classes voor persistente disks en GCE-ingress worden vervangen door hun SKE-tegenhangers.

Hoe de GKE-omgeving wordt gekoppeld

Google Cloud-resourceSTACKIT-doelMigratieklasse
GKE-cluster met nodepoolSKE-cluster met een nodepoolReplatforming
VPC-netwerkProjectnetwerken van STACKIT of Network AreaHerconfiguratie
SubnetworkSTACKIT-netwerk met hetzelfde IPv4-bereikHerconfiguratie
Service account van de nodesSTACKIT-service accountHerconfiguratie

Klassen zoals de run ze bepaalde. Het subnetwork behoudt 10.40.0.0/20 als prefix van het STACKIT-netwerk.

Bewezen op een echte Google Cloud-omgeving

De Dynamic Python Web App van Google Cloud, een openbaar Terraform-project van Google, door StackToIT beoordeeld en volledig gepubliceerd, precies zoals de run het heeft opgeleverd.

Casestudy bekijken (Engels)
37
Terraform-resourcedeclaraties geanalyseerd
11
migratie-eenheden geïdentificeerd
11
doeleenheden gegenereerd, van de 16 onderzochte eenheden
78
planstappen uitgeschreven

Vragen die platformteams stellen

Gaan de aantallen nodes per zone van GKE over naar SKE?

Niet als dezelfde getallen. De autoscalinglimieten van GKE tellen per zone, het minimum en maximum van SKE tellen de hele pool, dus StackToIT vraagt u om de totalen van de pool in plaats van een waarde over te nemen die iets anders zou betekenen.

Wat vervangt GKE Workload Identity?

Workload Identity op SKE: een STACKIT-service account met een gefedereerde identity provider die de service account-issuer van het cluster vertrouwt, één voor elk Kubernetes-service account dat cloud-API’s aanroept.

Welke Kubernetes-versie draait het SKE-cluster?

De laagste versie op of boven de bronversie die SKE in de regio biedt en die de lifecycledata als ondersteund markeert. Voor een GKE-cluster op 1.32 is dat 1.36 in eu01: 1.35 wordt ook aangeboden, maar de lifecycledata geeft die nog geen supportstatus. De code markeert de upgrade.

Bronnen

Uw volgende stap: STACKIT.

Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.

Laat uw gegevens achter, onze specialisten nemen contact met u op.

Liever zelf een e-mail sturen? connect@stacktoit.com

Wij gebruiken uw gegevens alleen om dit verzoek te beantwoorden en een mogelijke pilot te bespreken. Privacyverklaring