AZURE AKS → STACKIT SKE
Azure Kubernetes Service zu STACKIT Kubernetes Engine
AKS zieht auf die STACKIT Kubernetes Engine (SKE) um, und Ihre Workloads ziehen mit ihren Manifesten und Helm-Charts mit. StackToIT schreibt den SKE-Cluster mit allen Node Pools der Quelle, prüft die Version gegen den SKE-Katalog und benennt jede Azure-Integration, die SKE ersetzt.
Ein AKS-Cluster mit zwei Node Pools, umgesetzt
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.
resource "azurerm_kubernetes_cluster" "platform" {
name = "aks-platform"
location = azurerm_resource_group.platform.location
resource_group_name = azurerm_resource_group.platform.name
dns_prefix = "platform"
kubernetes_version = "1.31"
default_node_pool {
name = "system"
vm_size = "Standard_D4s_v5"
vnet_subnet_id = azurerm_subnet.nodes.id
auto_scaling_enabled = true
min_count = 2
max_count = 4
}
identity {
type = "SystemAssigned"
}
network_profile {
network_plugin = "azure"
}
}
resource "azurerm_kubernetes_cluster_node_pool" "workloads" {
name = "workloads"
kubernetes_cluster_id = azurerm_kubernetes_cluster.platform.id
vm_size = "Standard_E8s_v5"
vnet_subnet_id = azurerm_subnet.nodes.id
auto_scaling_enabled = true
min_count = 3
max_count = 9
}resource "stackit_ske_cluster" "platform" {
project_id = var.project_id
name = "aks-2a0320"
node_pools = [{
name = "system"
machine_type = var.azurerm_kubernetes_cluster_platform_default_node_pool_machine_type
minimum = 2
maximum = 4
availability_zones = var.availability_zones
}, {
name = "workloads"
machine_type = var.workloads_machine_type
minimum = 3
maximum = 9
availability_zones = var.availability_zones
}]
kubernetes_version_min = "1.36"
}Alle Node Pools in einem SKE-Cluster
Der Default Node Pool und der separate azurerm_kubernetes_cluster_node_pool werden zwei Node Pools desselben SKE-Clusters. min_count und max_count werden als Minimum und Maximum übernommen: 2 bis 4 und 3 bis 9.
Maschinentypen mit der Quellgröße daneben
Jeder Pool erhält eine eigene Variable für den Maschinentyp. Ihre Beschreibung hält die Azure-Größe fest, rund 4 vCPU und 16 GiB für Standard_D4s_v5 und rund 8 vCPU und 64 GiB für Standard_E8s_v5, und verweist auf die STACKIT-Maschinentypen.
Version gegen SKE geprüft
Die Quelle läuft auf Kubernetes 1.31. SKE unterstützt in eu01 1.35 und neuer; der Code fordert daher 1.36 an, die niedrigste unterstützte Version auf oder über der Quelle, und weist auf die fünf übersprungenen Minor-Versionen hin, damit Sie entfernte APIs vorher prüfen.
Clustername passend für SKE
Ein SKE-Clustername hat 1 bis 11 Zeichen. aks-platform hat 12; der Code nennt den Cluster daher aks-2a0320 und bittet Sie, den gewünschten Namen zu setzen.
Aus dem Node-Subnetz wird ein STACKIT-Netzwerk
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.
resource "azurerm_subnet" "nodes" {
name = "snet-aks-nodes"
resource_group_name = azurerm_resource_group.platform.name
virtual_network_name = azurerm_virtual_network.platform.name
address_prefixes = ["10.10.0.0/20"]
}resource "stackit_network" "nodes" {
project_id = var.project_id
name = "snet-aks-nodes"
ipv4_prefix = "10.10.0.0/20"
ipv4_nameservers = var.default_ipv4_nameservers
}Dasselbe IPv4-Präfix
snet-aks-nodes behält 10.10.0.0/20 als Präfix seines STACKIT-Netzwerks; der Adressplan bleibt also, wie er ist.
Kein VNet-Objekt nötig
STACKIT kennt keinen VNet-Container. Jedes Subnetz wird ein Netzwerk in einem Projekt, und Netzwerke, die sich privat erreichen müssen, kommen in eine Network Area.
DNS benannt
Die Quelle nutzt den von Azure bereitgestellten Resolver, der auch private DNS-Zonen beantwortet. Das Netzwerk liest seine Nameserver aus einer Variablen, und der Code vermerkt, dass private Namen einen eigenen DNS-Server brauchen.
So wird die AKS-Umgebung zugeordnet
| Azure-Ressource | STACKIT-Ziel | Migrationsklasse |
|---|---|---|
| AKS-Cluster mit Default Node Pool | SKE-Cluster mit Node Pool | Replatforming |
| Zusätzlicher AKS Node Pool | Zweiter Node Pool desselben SKE-Clusters | REPLATFORM, als Teil des Clusters |
| Virtuelles Netzwerk | STACKIT-Projektnetzwerk oder Network Area | Rekonfigurieren |
| Subnetz | STACKIT-Netzwerk mit demselben IPv4-Präfix | Rekonfigurieren |
Klassen so, wie der Lauf sie entschieden hat. Die Ressourcengruppe ist keine eigene Einheit: STACKIT kennt keine Ressourcengruppen; aus der Aufteilung in Ressourcengruppen und Subscriptions wird daher Ihre Ordner- und Projektstruktur.
Was der Code für Ihre Architekten benennt
Cluster-Identität
Die systemzugewiesene Identität des Clusters hat an einem SKE-Cluster kein Gegenstück. Der Lauf hält sie als Entscheidung für den Identity-Architekten fest.
Adresse des API-Servers
dns_prefix hat in SKE kein Gegenstück; die Adresse des API-Servers ändert sich also. Der Code weist darauf hin, Kubeconfigs und Clients anzupassen.
Cluster-Netzwerk
Azure CNI weicht dem Netzwerk, das SKE selbst betreibt. Netzwerk-Plugin sowie Pod- und Service-Bereiche werden nicht übernommen, und der Code sagt das.
Speicher und Ingress
Storage Classes für Azure Disk und Azure Files werden SKE-Storage-Classes; Persistent Volumes ziehen dabei mit einem Backup-Werkzeug wie Velero um. Ingress über Application Gateway wird mit einem Ingress Controller auf SKE neu aufgebaut.
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 aus Plattformteams
Können mehrere AKS Node Pools in einen SKE-Cluster ziehen?
Ja. StackToIT liest den Default Node Pool und jeden zusätzlichen Node Pool des Clusters und schreibt sie als Node Pools eines SKE-Clusters, jeden mit eigenem Minimum, Maximum und Maschinentyp.
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 AKS-Cluster auf 1.31 ist das in eu01 die 1.36, und der Code weist auf das Upgrade hin, damit Sie entfernte APIs vor dem Umzug prüfen.
Was passiert mit Managed Identities und Azure CNI?
Beides wird nicht als solches übernommen. Die Cluster-Identität wird eine Entscheidung für Ihren Identity-Architekten, und SKE betreibt sein eigenes Cluster-Netzwerk; Pod- und Service-Bereiche werden auf STACKIT also neu gesetzt.
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.