Ga naar inhoud

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.