AKS Platform¶
Sommige workloads hebben Kubernetes nodig: gecontaineriseerde applicaties die zelf schalen, uitrollen en herstellen. Het AKS Platform is een oplossing die een platformteam een vaste, herhaalbare basis geeft voor zulke clusters: het cluster zelf, het netwerk, identities en toegang, securitypolicy en secrets, allemaal als Terraform. Workload teams krijgen namespaces op dat cluster met een voorspelbaar contract (toegang via groepen, workload identity in plaats van opgeslagen credentials, standaard regels voor netwerk en pod security).
De oplossing heeft twee varianten: AKS in Azure en AKS on Azure Local (het Kubernetes-cluster draait op hardware in je eigen datacenter en wordt beheerd via Azure Arc). Beide gebruiken dezelfde indeling en hetzelfde model voor identity en secrets.
Referentieontwerp, per platform ingesteld
Het AKS Platform maakt geen deel uit van de kern van de MCP hub en spoke. Of het beschikbaar is, welke variant je krijgt en welke opties aanstaan, hangt af van je platform. De namen, afmetingen en schema's op deze pagina's zijn de waarden van de referentieconfiguratie; jouw deployment kan afwijken. Het platformteam is XMMS onder een managed-service-contract, of je eigen team als je zelf beheert (Beheermodellen).
Status van de bronnen
Deze pagina's zijn opgebouwd uit de Terraform-code, pipelines en ontwerpdocumenten van de oplossing. Waar de ontwerpdocumenten en de Terraform-code elkaar tegenspreken, beschrijven de pagina's wat de code doet en geven ze dat aan. De platformservices in het cluster (GitOps-controller, ingress gateway, monitoring, policy engine) worden gedeployd vanuit aparte GitOps-repositories die geen deel uitmaken van deze documentatie. Ze worden hier alleen beschreven voor zover de ontwerpdocumenten ze beschrijven.
Terminologie¶
| Term | Betekenis |
|---|---|
| Layer | Eén Terraform-modulegroep van de oplossing: netwerk, identity, securitypolicy, cluster baseline, secrets. Elke layer heeft een deploy_*-schakelaar. |
| Cluster baseline | De standaardconfiguratie van een AKS-cluster: node pools, netwerkprofiel, identity, add-ons, onderhoudsvensters. |
| Omgeving | nonprod of prod, plus nonprod-integrated en prod-integrated voor clusters in een netwerk dat met de hub is geïntegreerd. Elk platform en elke omgeving heeft een eigen configuratiebestand en een eigen Terraform state. |
| Platform | azure (AKS in Azure) of azure-local (AKS on Azure Local). |
| Standalone / hub-integrated | De twee netwerkmodi van de Azure-variant: de oplossing bouwt een eigen spoke, of gebruikt een spoke uit de hub en landing zone (Netwerk). |
| Bootstrap | Het eenmalig aanmaken van een Azure Local-cluster met de Azure CLI, voordat Terraform het overneemt (AKS on Azure Local). |
| GitOps-repositories | Aparte repositories met de Kubernetes-manifests (namespaces, RBAC, policies, platformservices, applicaties) die Argo CD op het cluster toepast. |
Wat je krijgt¶
| Gebied | Wat de oplossing doet | Pagina |
|---|---|---|
| Servicebeschrijving | Scope, varianten, grenzen en de verdeling van verantwoordelijkheden | Servicebeschrijving |
| Het cluster gebruiken | Namespaces, toegangsgroepen, workload identity, ingress en Key Vault vanuit het perspectief van een workload team | Het cluster gebruiken |
| Securitypolicy | Admission-regels, network policies, quota en uitzonderingen | Securitypolicy |
| Architectuur | Layers, omgevingen, resourcegroepen en hoe de onderdelen samenhangen | Architectuur |
| Cluster baseline | Node pools, upgrades, add-ons, identities van het cluster | Cluster baseline |
| Netwerk | Indeling van de spoke, egress, DNS, private endpoints, hubintegratie | Netwerk |
| Identity en toegang | Entra ID-groepen, Azure- en Kubernetes-RBAC, CI/CD-identities, secrets | Identity en toegang |
| Azure Local | Wat anders is op AKS on Azure Local en wat niet wordt beheerd | AKS on Azure Local |
| Randvoorwaarden | Wat er moet bestaan vóór een deployment, per variant | Randvoorwaarden |
| Deployment | Pipelines, configuratiebestanden, rollen van de pipeline-identity | Deployment |
| Beheer | Upgrades, starten en stoppen, alerting en on-call, bekende hiaten | Beheer |
| Load testing | Hoe het platform wordt belast getest en wat er wordt gemeten | Load testing |
| Beslissingen | De belangrijkste ontwerpbeslissingen in het kort | Beslissingen |
De varianten in een oogopslag¶
| AKS in Azure | AKS on Azure Local | |
|---|---|---|
| Clusterresource | Terraform (azurerm_kubernetes_cluster) |
Azure CLI-bootstrap (az aksarc create), daarna Arc-extensies met Terraform |
| Waar de nodes draaien | Azure | Azure Local-hardware in je datacenter |
| Netwerk | VNet en subnets, gebouwd door de oplossing of geleverd door de hub | Bestaand Azure Local logical network |
| Egress en DNS | Route table of hub firewall, Private DNS zones | Je fysieke netwerk |
| Load balancing | Azure load balancer | MetalLB, ingeschakeld via Azure Arc |
| Policy | Azure Policy add-on, plus Kyverno uit GitOps | Azure Policy-extensie voor Arc, plus Kyverno uit GitOps |
| Secrets en identity | Key Vault, workload identity | Key Vault, workload identity |
De Azure Local-variant is nieuwer en minder compleet. Zie AKS on Azure Local voor wat wel en niet is geautomatiseerd.
Verantwoordelijkheden¶
| Platformteam | Workload team | |
|---|---|---|
| Terraform-layers, cluster baseline, upgrades | Ja | |
| Entra ID-groepen en Azure-roltoewijzingen | Ja | Vraagt aan |
| Namespaces, quota, RBAC-bindings, policies | Ja (via de GitOps-repository) | Vraagt aan |
| Platformservices (ingress gateway, monitoring, certificaten) | Ja | |
| Routes, applicatiedeployments, netwerkregels van de applicatie | Ja | |
| Container images en wat de applicatie met haar secrets doet | Ja |
De volledige tabel staat op Servicebeschrijving. De algemene verdeling staat op Verantwoordelijkheden.
Gerelateerd¶
- Beheermodellen
- Servicetypen
- Architectuurreferentie
- Woordenlijst
- Managed virtual machines, een andere oplossing bovenop het platform