AZURE AKS → STACKIT SKE
Azure Kubernetes Service naar STACKIT Kubernetes Engine
AKS gaat naar STACKIT Kubernetes Engine (SKE), en uw workloads verhuizen mee met hun manifests en Helm-charts. StackToIT schrijft het SKE-cluster met elke node pool van de bron, toetst de versie aan de SKE-catalogus en noemt elke Azure-integratie die SKE vervangt.
Een AKS-cluster met twee node pools, omgezet
Een kleine omgeving die voor deze pagina is opgesteld en op 4 november 2026 door StackToIT is beoordeeld. Links: de invoer. Rechts: de resourceblokken van de STACKIT-Terraform die de engine schreef; de beoordelingsopmerkingen die in het bestand boven elk blok staan, zijn hier weggelaten.
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"
}Elke node pool komt in één SKE-cluster
De standaard node pool en de afzonderlijke azurerm_kubernetes_cluster_node_pool worden twee node pools van hetzelfde SKE-cluster. min_count en max_count gaan als minimum en maximum mee: 2 tot 4 en 3 tot 9.
Machinetypen met de brongrootte ernaast
Elke pool krijgt een eigen variabele voor het machinetype. De beschrijving legt de Azure-size vast, ongeveer 4 vCPU en 16 GiB voor Standard_D4s_v5 en ongeveer 8 vCPU en 64 GiB voor Standard_E8s_v5, en verwijst naar de STACKIT-machinetypen.
Versie getoetst aan SKE
De bron draait Kubernetes 1.31. SKE in eu01 biedt 1.35 en nieuwer, maar de lifecycledata van de run geeft 1.35 nog geen supportstatus, dus de code vraagt 1.36, de laagste versie boven de bron die als ondersteund is gemarkeerd, en markeert de vijf minorversies die daarbij worden overgeslagen, zodat u eerst verwijderde API's controleert.
Clusternaam aangepast aan SKE
Een SKE-clusternaam heeft 1 tot 11 tekens. aks-platform heeft er 12, dus de code noemt het cluster aks-2a0320 en vraagt u de naam in te stellen die u wilt.
Het nodesubnet wordt een STACKIT-netwerk
Uit dezelfde run. Links: de invoer. Rechts: de resourceblokken die StackToIT schreef; de beoordelingsopmerkingen boven elk blok in het bestand zijn hier weggelaten.
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
}Hetzelfde IPv4-prefix
snet-aks-nodes behoudt 10.10.0.0/20 als prefix van zijn STACKIT-netwerk, dus het adresplan blijft zoals het is.
Geen VNet-object nodig
STACKIT kent geen VNet-container. Elk subnet wordt een netwerk in een project, en netwerken die elkaar privé moeten bereiken, sluiten aan op een Network Area.
DNS genoemd
De bron vertrouwt op de door Azure geleverde resolver, die ook private DNS-zones beantwoordt. Het netwerk leest zijn nameservers uit een variabele, en de code merkt op dat privénamen een eigen DNS-server vereisen.
Hoe de AKS-omgeving wordt gekoppeld
| Azure-resource | STACKIT-doel | Migratieklasse |
|---|---|---|
| AKS-cluster met zijn standaard node pool | SKE-cluster met een node pool | Replatforming |
| Extra AKS-node pool | Tweede node pool van hetzelfde SKE-cluster | REPLATFORM, als onderdeel van het cluster |
| Virtueel netwerk | Projectnetwerk van STACKIT of Network Area | Herconfiguratie |
| Subnet | STACKIT-netwerk met hetzelfde IPv4-prefix | Herconfiguratie |
Klassen zoals de run ze heeft bepaald. De resourcegroep is geen eenheid op zich: STACKIT kent geen resourcegroepen, dus de indeling in resourcegroepen en subscriptions wordt uw indeling in folders en projecten.
Wat de code voor uw architecten benoemt
Clusteridentiteit
De system-assigned identity van het cluster heeft geen tegenhanger op een SKE-cluster. De run legt dit vast als beslissing voor de Identity Architect.
Adres van de API-server
dns_prefix heeft geen SKE-tegenhanger, dus het adres van de API-server verandert. De code adviseert kubeconfigs en clients bij te werken.
Clusternetwerk
Azure CNI maakt plaats voor het netwerk dat SKE zelf draait. De netwerkplugin en de pod- en servicebereiken worden niet overgenomen, en de code zegt dat ook.
Opslag en ingress
Storage classes van Azure Disk en Azure Files worden SKE-storage classes, waarbij persistent volumes met een back-uptool zoals Velero worden verplaatst. Application Gateway-ingress maakt u opnieuw aan met een ingress controller op SKE.
Bewezen op een echte AWS-omgeving
De AWS Retail Store Sample App, een openbaar Terraform-project van AWS, door StackToIT beoordeeld en volledig gepubliceerd, precies zoals de run het heeft opgeleverd.
Casestudy bekijken (Engels)- 282
- Terraform-resourcedeclaraties geanalyseerd
- 44
- migratie-eenheden geïdentificeerd
- 38
- doeleenheden gegenereerd, van de 52 onderzochte eenheden
- 331
- planstappen uitgeschreven
Vragen van platformteams
Kunnen meerdere AKS-node pools naar één SKE-cluster?
Ja. StackToIT leest de standaard node pool en elke extra node pool van het cluster en schrijft ze als node pools van één SKE-cluster, elk met een eigen minimum, maximum en machinetype.
Welke Kubernetes-versie draait het SKE-cluster?
De laagste versie op of boven de bronversie die SKE in de regio aanbiedt en die de lifecycledata als ondersteund markeert. Voor een AKS-cluster op 1.31 is dat in eu01 versie 1.36: 1.35 wordt ook aangeboden, maar de lifecycledata geeft die nog geen supportstatus. De code markeert de upgrade zodat u verwijderde API's controleert vóór de migratie.
Wat gebeurt er met managed identities en Azure CNI?
Geen van beide wordt als zodanig overgenomen. De clusteridentiteit wordt een beslissing voor uw Identity Architect, en SKE draait zijn eigen clusternetwerk, dus pod- en servicebereiken worden opnieuw ingesteld op STACKIT.
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.