Ga naar inhoud

AKS-platform: vereisten

Deze pagina beschrijft wat er per variant moet bestaan voordat het platformteam kan deployen. In het managed model levert de klant de items die als klant zijn gemarkeerd; in het zelfbeheerde model leveren je eigen teams ze allemaal (Beheermodellen).

Alle varianten

Onderdeel Detail
Azure subscription en regio Actieve subscription met genoeg quota voor de node pools
Terraform state storage Een storage account en container voor de remote state. De pipeline identity heeft hierop Storage Blob Data Contributor nodig. Eén state key per platform en omgeving
Een pipeline identity Een federated identity (OIDC, geen secrets) met de rollen uit Deployment
Entra ID-rechten Recht om groepen aan te maken: Microsoft Graph application permission Group.ReadWrite.All met admin consent, of de Entra-rol Groups Administrator voor de pipeline identity
Pipeline agent Een agent die de Terraform state storage, management.azure.com en login.microsoftonline.com kan bereiken. Voor een private cluster-API heeft hij ook een netwerkpad naar de API server nodig
Cluster admin-groep Een Entra ID-groep voor de clusterbeheerders (de platform admins-groep wordt aan het cluster doorgegeven)
Configuratie- en variabelenrepositories De configuratiebestanden per omgeving en de authenticatievariabelen die de pipeline tijdens runtime laadt

AKS in Azure

Onderdeel Standalone Hub-integrated
Adresplan VNet-CIDR plus de vier subnet-CIDR's, een service-CIDR en een pod-CIDR De vier subnets en ranges van de hub, plus service- en pod-CIDR's
Spoke-VNet en subnets Aangemaakt Aangemaakt door de hub: nodes, ingress, private endpoints, API server (delegated)
Peering en firewallregels voor AKS-egress Niet van toepassing Vereist. Ontbrekende regels laten de cluster-bootstrap falen
Private DNS-zones voor Key Vault en container registry Aangemaakt (Key Vault) Geleverd en gelinkt door de hub
Rechten op de spoke subscription Contributor op de subscription Het VNet en de subnets lezen, en roltoewijzingen aanmaken op het spoke-VNet
Container registry (optioneel) ID's in aks_acr_ids krijgen AcrPull voor de kubelet Hetzelfde
Log Analytics workspace (optioneel) Nodig voor monitoring, diagnostics, alerts en Defender Hetzelfde

AKS op Azure Local

Dit zijn infrastructuurresources die niet op afstand kunnen worden aangemaakt.

Onderdeel Geleverd door
Azure Local-cluster, geregistreerd en gezond Klant
Arc Resource Bridge, gedeployd en gezond Klant
Custom location (resource-ID) Klant
Logical network voor de nodenetwerking (resource-ID) Klant
Subscription-ID, tenant-ID en regio waar Azure Local is geregistreerd Klant
Geregistreerde resource providers (de bootstrap controleert en registreert de belangrijkste) Pipeline of klant
Agent pool op Linux met bash en PowerShell, met toegang tot het privénetwerk Klant
Terraform state storage bereikbaar vanaf de agent Klant
Object-ID('s) van de Entra ID-groep(en) voor de clusterbeheerders Klant
IP-range voor MetalLB, niet overlappend met bestaande netwerken Klant
MetalLB advertise mode: ARP (standaard), BGP of Both. BGP heeft de peernaam, beide AS-nummers en het peeradres nodig Klant
DNS-servers die vanaf het cluster bereikbaar zijn Klant

Firewallpad vanaf de Arc Resource Bridge

Controleer dit vóór de bootstrap

De Arc Resource Bridge staat op het managementnetwerk. Hij moet TCP-poort 6443 (de Kubernetes API server) kunnen bereiken op het control plane-IP van het nieuwe cluster, op de VLAN van het logical network. Een standaard firewallregel in het on-premises netwerk van de klant blokkeerde dit pad bij een eerdere deployment, en het aanmaken van het cluster mislukte met APIServerNotOnline. Laat het netwerkteam het pad openen en test het voordat je de bootstrap draait, bijvoorbeeld met Test-NetConnection <control-plane-ip> -Port 6443 vanaf het managementnetwerk, of met de Microsoft-diagnose voor een onbereikbare AKS Arc API server.

Wat de pipeline aanmaakt

Je hoeft het volgende niet voor te bereiden. De bootstrap en Terraform maken het aan:

Resource Aangemaakt door
Resource group voor het cluster, AKS Arc-cluster, OIDC issuer en workload identity Bootstrap
MetalLB load balancer Bootstrap
Registraties van resource providers Bootstrap
Arc-extensies (Argo CD, Azure Policy, Arc Networking), Entra ID-groepen, managed identities, Key Vault, Azure Policy-toewijzing Terraform

Pipeline identity voor Azure Local (Azure DevOps)

Rol Scope Doel
Contributor Subscription of de resource group van het cluster Resource groups, cluster, extensies, Key Vault
Storage Blob Data Contributor State storage account De state lezen en schrijven
User Access Administrator Resource group van het cluster Alleen als de identity-module Azure-rollen toewijst

De Azure DevOps-pipeline leest twee waarden uit een variable group (AZURE_SERVICE_CONNECTION en AGENT_POOL_NAME), omdat Azure DevOps ze nodig heeft voordat een stap draait. Al het andere wordt gelezen uit een configuratiebestand in de repository (<environment>.pipeline-vars.yml). Goedkeuringsgates voor apply en destroy worden ingesteld op een Azure DevOps environment.

Volgorde

  1. Lever de waarden uit de bovenstaande tabellen aan.
  2. Het platformteam maakt de pipeline, de variable group en de environment aan.
  3. Draai een plan om connectiviteit en configuratie te controleren.
  4. Deploy: bootstrap (alleen Azure Local), daarna Terraform.