KUBERNETES → STACKIT SKE · GIDS VOOR ELKE CLOUD
Kubernetes-migratie naar STACKIT SKE, vanuit zes clouds
Uw manifests zijn portabel; alles wat de cloud eromheen heeft gebouwd, is dat niet. Welke bron het ook is (EKS, AKS, GKE, CCE, ACK of OKE), StackToIT classificeert het cluster als REPLATFORM. Voor EKS, AKS en GKE schrijft het een SKE-cluster met node pools en noemt het elke cloudspecifieke instelling die niet wordt overgenomen; voor CCE, ACK en OKE legt het de koppeling vast in het assessment. Deze gids toont de uitvoer naast elkaar.
EKS: een cluster en een node group worden één SKE-cluster
Een kleine omgeving die voor deze gids is opgesteld en op 4 november 2026 door StackToIT is beoordeeld. Links: het EKS-cluster en de node group. Rechts: het stackit_ske_cluster-blok in de STACKIT-Terraform die de engine schreef, zonder de reviewopmerkingen.
resource "aws_eks_cluster" "platform" {
name = "platform"
version = "1.31"
role_arn = aws_iam_role.cluster.arn
vpc_config {
subnet_ids = [aws_subnet.private_a.id, aws_subnet.private_b.id]
}
}
resource "aws_eks_node_group" "workloads" {
cluster_name = aws_eks_cluster.platform.name
node_group_name = "workloads"
node_role_arn = aws_iam_role.nodes.arn
subnet_ids = [aws_subnet.private_a.id, aws_subnet.private_b.id]
instance_types = ["m6i.xlarge"]
scaling_config {
desired_size = 3
min_size = 2
max_size = 6
}
}resource "stackit_ske_cluster" "platform" {
project_id = var.project_id
name = "platform"
node_pools = [{
name = "workloads"
machine_type = var.pool_workloads_machine_type
minimum = 2
maximum = 6
availability_zones = var.availability_zones
}]
kubernetes_version_min = "1.36"
}Node groups worden node pools
De node group is op STACKIT geen aparte resource, maar een node pool binnen het clusterblok. Minimum en maximum worden overgenomen; desired_size niet, omdat een SKE-pool schaalt tussen zijn grenzen en geen gewenst aantal kent.
Het machinetype wordt afgeleid, niet gekopieerd
m6i.xlarge heeft 4 vCPU en 16 GiB. Het concept laat de pool verwijzen naar een variabele waarvan de standaardwaarde het STACKIT-machinetype is dat de run voor die grootte voorstelt. De keuze blijft een open beslissing die u bevestigt of wijzigt.
De versie gaat omhoog
De bron draait Kubernetes 1.31. De catalogus van eu01 die de run las, begint bij 1.35, maar de lifecycledata noemt 1.36 de laagste ondersteunde versie op of boven de bron. De run zet daarom kubernetes_version_min op 1.36 en waarschuwt dat er vijf minorversies aan upgrades tussen beide liggen: controleer vóór de overstap op verwijderde API's.
Rollen en subnets vervallen, bij naam genoemd
De IAM-rol van het cluster, de noderol en de subnets van het control plane hebben geen SKE-equivalent. Elk daarvan staat in het bestand als niet overgenomen, met de vraag die overblijft: waarvoor de node-inloggegevens werden gebruikt en bij welk netwerk het cluster aansluit.
GKE: bescherming, schaling en identiteit werken anders
Dezelfde oefening voor een Google Kubernetes Engine-cluster en zijn node pool. Links: de invoer. Rechts: het SKE-blok.
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"]
}
}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
}
}Beveiliging tegen verwijderen blijft behouden
deletion_protection = true wordt overgenomen als Terraform-vangrail, lifecycle prevent_destroy, zodat een destroy net als voorheen wordt geweigerd.
Schaalgetallen veranderen van betekenis
De autoscalinglimieten van GKE tellen nodes per zone; het minimum en maximum van SKE tellen de hele pool. De run kopieert geen waarde als equivalent en laat een opmerking achter om de totalen van de pool in te stellen.
Workload Identity wordt niet overgenomen
De Google workload pool heeft geen tegenhanger. Workloads federeren via een identity provider voor STACKIT-serviceaccounts die de issuer van het cluster gebruikt; de run markeert dat als bevinding en genereert die niet. Ook release channels vervallen: SKE kent geen channels en automatische versie-updates zijn een onderhoudsinstelling.
CCE, ACK en OKE: het cluster is beoordeeld, de details zijn voor u
Voor bronnen op Huawei Cloud, Alibaba Cloud en Oracle Cloud schrijft StackToIT een STACKIT-Terraform-concept ter beoordeling en legt de beslissing vast. Dit zijn de clustereenheden zoals assessment.json ze vastlegt (id, klasse, zekerheidsniveau en doel).
{
"id": "huaweicloud_cce_cluster.platform",
"result": {
"class": "REPLATFORM",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Kubernetes Engine (SKE)",
"resources": [
"stackit_ske_cluster",
"stackit_ske_kubeconfig"
]
}
}
}
{
"id": "alicloud_cs_managed_kubernetes.platform",
"result": {
"class": "REPLATFORM",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Kubernetes Engine (SKE)",
"resources": [
"stackit_ske_cluster",
"stackit_ske_kubeconfig"
]
}
}
}
{
"id": "oci_containerengine_cluster.platform",
"result": {
"class": "REPLATFORM",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Kubernetes Engine (SKE)",
"resources": [
"stackit_ske_cluster",
"stackit_ske_kubeconfig"
]
}
}
}Dezelfde klasse, hetzelfde doel
Alle drie de clusters krijgen de klasse REPLATFORM met zekerheidsniveau MEDIUM en doel STACKIT Kubernetes Engine. Workloadmanifests kunnen blijven; node pools, annotaties voor load balancers en opslag, en identiteit worden vervangen, net als add-ons (bij OKE noemt de run in plaats daarvan images).
Node pools verschillen
In deze demoruns heeft de OKE-node pool de klasse REPLATFORM, terwijl de node pools van CCE en ACK MANUAL_REVIEW zijn met zekerheidsniveau LOW: deze build herkent hun resourcetypen niet, dus er wordt niets van beoordeeld of uitgewerkt. Ze verschijnen als werk voor een architect, niet als stille leemte.
Wat elke bron verandert
| Broncluster | Wat de run vond om te wijzigen | Uitvoer van de run |
|---|---|---|
| Amazon EKS | Node groups worden node pools; desired size en clusterrollen worden niet overgenomen; versie verhoogd naar 1.36 | SKE-clusterblok in Terraform |
| Azure AKS | Systeem- en gebruikerspools worden twee SKE-pools; managed identity, DNS-prefix en instellingen van de netwerkplugin worden niet overgenomen; het adres van de API-server verandert | SKE-clusterblok met twee node pools |
| Google GKE | Schaallimieten per zone worden totalen voor de pool; Workload Identity en release channel worden niet overgenomen | SKE-clusterblok met een destroy-beveiliging |
| Huawei CCE | Cluster gekoppeld; node pool aan een architect voorgelegd | Assessment-item en Terraform-concept ter beoordeling |
| Alibaba ACK | Cluster gekoppeld; node pool aan een architect voorgelegd | Assessment-item en Terraform-concept ter beoordeling |
| Oracle OKE | Cluster en node pool gekoppeld; de shape wordt een STACKIT-flavor; zoneplaatsing opnieuw bepaald | Assessment-item en Terraform-concept ter beoordeling |
Uit de zes demoruns van deze reeks gidsen. De naam van het AKS-cluster is ingekort, omdat een SKE-clusternaam 1 tot 11 tekens heeft; de run koos aks-2a0320 en vraagt u de gewenste naam in te stellen.
De migratie, in volgorde
De onderstaande stappen zijn algemene praktijk; de run levert de eerste twee en de lijsten die de rest voeden.
1 · De infrastructuurcode beoordelen
Laat de engine los op de Terraform of OpenTofu die de clusters definieert. Die noemt elke cloudspecifieke instelling, zodat de lijst met wijzigingen er al is voordat iemand een regel schrijft.
2 · Eerst netwerk en identiteit bepalen
Plaatsing van het cluster, toegang tot de API en de manier waarop workloads zich authenticeren zijn de vragen die de concepten bij elke bron openlaten. Leg ze vast vóór de nodegroottes.
3 · Manifests en charts scannen
Zoek naar annotaties voor load balancers en ingress, storage classes, annotaties van serviceaccounts voor cloudidentiteit en controllers die alleen op de broncloud bestaan. Dit zijn de onderdelen die niet met de manifests meeverhuizen.
4 · Het SKE-cluster bouwen in een testproject
Pas het opgestelde cluster toe nadat de variabelen zijn ingevuld en rol de workloads daarna uit, eerst de stateless workloads.
5 · Persistente volumes verplaatsen
De run stelt een back-uptool voor, zoals Velero, voor volumedata; de engine verplaatst zelf nooit data. Kies de methode op basis van omvang, wijzigingssnelheid en toegestane downtime.
6 · Per verkeersstroom overschakelen
Schakel DNS of de load balancer ervoor per ingangspunt om, houd het broncluster tot de controles slagen en faseer het dan uit.
Wat de bronclouds gemeen hebben
Een beheerd control plane
AKS, GKE en EKS beheren het control plane voor u, en SKE doet dat ook. Het adres van de API-server en de inloggegevens veranderen, maar het beheermodel blijft vertrouwd.
Automatische of standaardmodi
EKS kent Auto Mode, AKS kent Automatic en Standard, GKE kent Autopilot en Standard. Automatisch beheerde nodefuncties zijn gedrag van de provider; controleer of workloads ervan afhangen.
Add-ons die aan de cloud gebonden zijn
Netwerkplugins, storagedrivers, ingress-controllers en identiteitsintegraties komen van de broncloud en worden vervangen door SKE-equivalenten.
Versies
In deze runs begint de SKE-catalogus voor eu01 bij 1.35 en vraagt elk concept om 1.36, dus de bronclusters op 1.31 en 1.32 worden onderweg geüpgraded. Controleer eerst uw manifests op verwijderde Kubernetes-API's.
Vragen van platformteams
Moet ik mijn Kubernetes-manifests herschrijven?
Niet voor de Kubernetes-objecten zelf. De aanpassingen zitten in cloudspecifieke annotaties, storage classes, ingress classes en identiteitsconfiguratie, die de run als te beoordelen punten opsomt.
Verplaatst StackToIT mijn workloads of volumes?
Nee. Het leest infrastructuurcode en schrijft een plan, Terraform waar dat wordt ondersteund, en handmatige stappen. Data verplaatst u zelf met de tooling van uw keuze.
Schrijft de run Terraform voor CCE, ACK of OKE?
Ja. De runs voor Huawei, Alibaba en Oracle schrijven assessments, beslissingen en een STACKIT-Terraform-concept dat uw architecten beoordelen. Ook de koppeling van het cluster wordt vastgelegd, zodat het werk kan worden gepland.
Welke STACKIT-functies krijgt een cluster?
De SKE-documentatie noemt een hoogbeschikbaar beheerd control plane, automatische updates van Kubernetes en het besturingssysteem, autoscaling van pods en nodes, en beheer via de portal, Terraform, de API of de CLI.
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
Hartelijk dank.
Uw verzoek is bij ons binnengekomen. Onze specialisten nemen contact met u op.