Delen via


Een privé-AKS-cluster (Azure Kubernetes Service) maken

Dit artikel helpt u bij het implementeren van een op private link gebaseerd AKS-cluster. Zie Een AKS-cluster (Azure Kubernetes Service) maken met API Server VNet-integratie als u geïnteresseerd bent in het maken van een AKS-cluster zonder vereiste private link of tunnel.

Overzicht van privéclusters in AKS

In een privécluster heeft het besturingsvlak of de API-server interne IP-adressen die zijn gedefinieerd in het document RFC1918 - Adrestoewijzing voor privéinternet . Met behulp van een privécluster kunt u ervoor zorgen dat netwerkverkeer tussen uw API-server en uw knooppuntgroepen alleen in het privénetwerk blijft.

Het besturingsvlak of de API-server bevindt zich in een door AKS beheerde Azure-resourcegroep en uw cluster of knooppuntgroep bevindt zich in uw resourcegroep. De server en de cluster- of knooppuntgroep kunnen met elkaar communiceren via de Azure Private Link-service in het virtuele netwerk van de API-server en een privé-eindpunt dat wordt weergegeven op het subnet van uw AKS-cluster.

Wanneer u een privé-AKS-cluster maakt, maakt AKS standaard zowel privé- als openbare FQDN's (Fully Qualified Domain Names) met bijbehorende DNS-zones. Zie Een privé-DNS-zone, privé-DNS-subzone of aangepast subdomein configureren voor gedetailleerde OPTIES voor DNS-configuratie.

Regionale beschikbaarheid

Privéclusters zijn beschikbaar in openbare regio's, Azure Government en Microsoft Azure beheerd door 21Vianet-regio's waar AKS wordt ondersteund.

Belangrijk

Alle functies van Microsoft Defender voor Cloud worden officieel buiten gebruik gesteld in de regio Azure in China op 18 augustus 2026. Vanwege deze aanstaande buitengebruikstelling kunnen klanten van Azure in China geen nieuwe abonnementen meer onboarden voor de service. Een nieuw abonnement is een abonnement dat nog niet is toegevoegd aan de Microsoft Defender for Cloud-service vóór 18 augustus 2025, de datum van de aankondiging van de buitengebruikstelling. Voor meer informatie over de buitengebruikstelling, zie Aankondiging van de beëindiging van Microsoft Defender voor Cloud in Microsoft Azure beheerd door 21Vianet.

Klanten moeten samenwerken met hun accountvertegenwoordigers voor Microsoft Azure beheerd door 21Vianet om de impact van deze buitengebruikstelling op hun eigen activiteiten te beoordelen.

Vereisten voor privé-AKS-clusters

Belangrijk

Vanaf 30 november 2025 biedt Azure Kubernetes Service (AKS) geen ondersteuning meer voor beveiligingsupdates voor Azure Linux 2.0. De installatiekopieën van het Azure Linux 2.0-knooppunt zijn bevroren bij de release 202512.06.0. Vanaf 31 maart 2026 worden node-afbeeldingen verwijderd en kunt u de node-pools niet meer schalen. Migreer naar een ondersteunde Versie van Azure Linux door uw knooppuntgroepen te upgraden naar een ondersteunde Kubernetes-versie of door te migreren naar osSku AzureLinux3. Zie [Buitengebruikstelling] Azure Linux 2.0-knooppuntgroepen in AKS voor meer informatie.

Beperkingen en overwegingen voor privé-AKS-clusters

  • U kunt geen IP-geautoriseerde bereiken toepassen op het privé-API-servereindpunt, maar ze zijn alleen van toepassing op de openbare API-server.
  • Azure Private Link-servicebeperkingen zijn van toepassing op privéclusters.
  • Er is geen ondersteuning voor door Microsoft gehoste Azure DevOps-agents met privéclusters. Overweeg om zelfgehoste agents te gebruiken.
  • Als u Azure Container Registry wilt inschakelen op een privé-AKS-cluster, stelt u een privékoppeling in voor het containerregister in het virtuele clusternetwerk (VNet) of stelt u peering in tussen het virtuele netwerk van het containerregister en het virtuele netwerk van het privécluster.
  • Als u het privé-eindpunt in het subnet van de klant verwijdert of wijzigt, werkt het cluster niet meer.
  • De Azure Private Link-service wordt alleen ondersteund in Standard Azure Load Balancer. Basic Azure Load Balancer wordt niet ondersteund.

Hub en spoke met aangepaste DNS voor privé-AKS-clusters

Hub- en spoke-architecturen worden vaak gebruikt voor het implementeren van netwerken in Azure. In veel van deze implementaties worden DNS-instellingen in de spoke-VNets geconfigureerd om te verwijzen naar een centrale DNS-doorstuurserver die on-premises en op Azure gebaseerde DNS-omzetting toestaat.

Privécluster hub en spaken

Houd rekening met de volgende overwegingen bij het implementeren van privé-AKS-clusters in hub- en spoke-architecturen met aangepaste DNS:

  • Wanneer een privécluster wordt gemaakt, worden standaard een privé-eindpunt (1) en een privé-DNS-zone (2) gemaakt in de door het cluster beheerde resourcegroep. Het cluster maakt gebruik van een A record in de privézone om het IP-adres van het privé-eindpunt voor communicatie met de API-server op te lossen.

  • De privé-DNS-zone is alleen gekoppeld aan het VNet waaraan de clusterknooppunten zijn gekoppeld (3), wat betekent dat het privé-eindpunt alleen kan worden omgezet door hosts in dat gekoppelde VNet. In scenario's waarin geen aangepaste DNS is geconfigureerd op het VNet (standaard), werkt het zonder probleem als hosts wijzen op 168.63.129.16 voor DNS die records in de privé-DNS-zone kunnen resolveren door de koppeling.

  • Als u het standaardgedrag van de privé-DNS-zone behoudt, probeert AKS de zone rechtstreeks te koppelen aan het spoke-VNet dat als host fungeert voor het cluster, zelfs wanneer de zone al is gekoppeld aan een hub-VNet.

    In spoke-VNets die gebruikmaken van aangepaste DNS-servers, kan deze actie mislukken als de beheerde identiteit van het cluster geen netwerkbijdrager op het spoke-VNet heeft.

    Kies een van de volgende ondersteunde configuraties om de fout te voorkomen:

    • Aangepaste privé-DNS-zone: geef een vooraf gemaakte privézone op en stel deze in op privateDNSZone / --private-dns-zone de resource-id. Koppel die zone aan het juiste VNet (bijvoorbeeld het hub-VNet) en stel het publicDNS in op false / gebruik --disable-public-fqdn.
    • Alleen openbare DNS: schakel privézone-aanmaak uit door privateDNSZone / --private-dns-zone in te stellen op none en publicDNS op zijn standaardwaarde te laten (true) / --disable-public-fqdn niet te gebruiken.
  • Als u een byo-routetabel (Bring Your Own) gebruikt met kubenet en BYO DNS met privéclusters, mislukt het maken van clusters. Om de creatie succesvol te maken, moet u nadat het maken van het cluster is mislukt, de RouteTable in de knooppuntresourcegroep aan het subnet koppelen.

Houd rekening met de volgende beperkingen bij het gebruik van aangepaste DNS met privé-AKS-clusters:

  • Instellen privateDNSZone / --private-dns-zone op noneenpublicDNS: false / --disable-public-fqdn tegelijkertijd wordt niet ondersteund.
  • Voorwaardelijk doorsturen biedt geen ondersteuning voor subdomeinen.

Een privé-AKS-cluster maken met standaard basisnetwerken

  1. Maak een resourcegroep met behulp van de az group create opdracht. U kunt ook een bestaande resourcegroep gebruiken voor uw AKS-cluster.

    az group create \
        --name <private-cluster-resource-group> \
        --location <location>
    
  2. Maak een privécluster met standaard basisnetwerken met behulp van de az aks create opdracht met de --enable-private-cluster vlag.

    Belangrijke parameters in deze opdracht:

    • --enable-private-cluster: Hiermee schakelt u de privéclustermodus in.
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --generate-ssh-keys
    
  3. Configureer kubectl om verbinding te maken met het privé-AKS-cluster.

Een privé-AKS-cluster maken met geavanceerde netwerken

  1. Maak een resourcegroep met behulp van de az group create opdracht. U kunt ook een bestaande resourcegroep gebruiken voor uw AKS-cluster.

    az group create \
        --name <private-cluster-resource-group> \
        --location <location>
    
  2. Maak een privécluster met geavanceerde netwerken met behulp van de az aks create opdracht.

    Belangrijke parameters in deze opdracht:

    • --enable-private-cluster: Hiermee schakelt u de privéclustermodus in.
    • --network-plugin azure: Specificeert de Azure CNI-netwerkplug-in.
    • --vnet-subnet-id: De resource-id van een bestaand subnet in een virtueel netwerk.
    • --dns-service-ip: Een beschikbaar IP-adres binnen het Kubernetes-serviceadresbereik dat moet worden gebruikt voor de DNS-clusterservice.
    • --service-cidr: een IP-adresbereik voor CIDR-notatie van waaruit IP-adressen van serviceclusters moeten worden toegewezen.
    az aks create \
        --resource-group <private-cluster-resource-group> \
        --name <private-cluster-name> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --network-plugin azure \
        --vnet-subnet-id <subnet-id> \
        --dns-service-ip 10.2.0.10 \
        --service-cidr 10.2.0.0/24
        --generate-ssh-keys
    
  3. Configureer kubectl om verbinding te maken met het privé-AKS-cluster.

Aangepaste domeinen gebruiken met privé-AKS-clusters

Als u aangepaste domeinen wilt configureren die alleen intern kunnen worden opgelost, zie Aangepaste domeinen gebruiken.

Een openbare FQDN uitschakelen op een privé-AKS-cluster

Een openbare FQDN op een nieuw cluster uitschakelen

  • Schakel een openbare FQDN uit bij het maken van een privé-AKS-cluster met behulp van de az aks create opdracht met de --disable-public-fqdn vlag.

    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone <private-dns-zone-mode> \
        --disable-public-fqdn \
        --generate-ssh-keys
    

Een openbare FQDN op een bestaand cluster uitschakelen

  • Schakel een openbare FQDN uit op een bestaand AKS-cluster met behulp van de az aks update opdracht met de --disable-public-fqdn vlag.

    az aks update \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --disable-public-fqdn
    

Een privé-DNS-zone, privé-DNS-subzone of aangepast subdomein configureren voor een privé-AKS-cluster

U kunt privé-DNS-instellingen configureren voor een privé-AKS-cluster met behulp van de Azure CLI (met de --private-dns-zone parameter) of een Arm-sjabloon (Azure Resource Manager) (met de privateDNSZone eigenschap). De volgende tabel bevat een overzicht van de opties die beschikbaar zijn voor de --private-dns-zone parameter/ privateDNSZone eigenschap:

Configuratie Description
system De standaardwaarde bij het configureren van een privé-DNS-zone. Als u weglaat --private-dns-zone / privateDNSZone, maakt AKS een privé-DNS-zone in de knooppuntresourcegroep.
none Als u deze optie instelt --private-dns-zone / privateDNSZonenone, maakt AKS geen privé-DNS-zone.
<custom-private-dns-zone-resource-id> Als u deze parameter wilt gebruiken, moet u een privé-DNS-zone maken in de volgende indeling voor de globale Azure-cloud: privatelink.<region>.azmk8s.io of <subzone>.privatelink.<region>.azmk8s.io. U hebt de resource-id van de privé-DNS-zone nodig voor toekomstig gebruik. U hebt ook een door de gebruiker toegewezen identiteit of service-principal nodig met de rollen Inzender voor privé-DNS-zone en Netwerkbijdrager . Voor clusters die gebruikmaken van API Server VNet-integratie, ondersteunt een privé-DNS-zone de naamgevingsindeling van private.<region>.azmk8s.io of <subzone>.private.<region>.azmk8s.io. U kunt deze resource niet wijzigen of verwijderen nadat u het cluster hebt gemaakt, omdat dit prestatieproblemen en clusterupgrades kan veroorzaken. U kunt --fqdn-subdomain <subdomain> alleen samen met <custom-private-dns-zone-resource-id> gebruiken om subdomeinmogelijkheden aan privatelink.<region>.azmk8s.io te bieden. Als u een subzone opgeeft, is er een limiet van 32 tekens voor de <subzone> naam.

Houd rekening met de volgende overwegingen bij het configureren van privé-DNS voor een privé-AKS-cluster:

  • Als de privé-DNS-zone zich in een ander abonnement bevindt dan het AKS-cluster, moet u de Microsoft.ContainerServices Azure-provider registreren in beide abonnementen.
  • Als uw AKS-cluster is geconfigureerd met een Active Directory-service-principal, biedt AKS geen ondersteuning voor het gebruik van een door het systeem toegewezen beheerde identiteit met een aangepaste privé-DNS-zone. Het cluster moet door de gebruiker toegewezen beheerde identiteitverificatie gebruiken.

Een privé-AKS-cluster maken met een privé-DNS-zone

  1. Maak een privé-AKS-cluster met een privé-DNS-zone met behulp van de az aks create opdracht.

    Belangrijke parameters in deze opdracht:

    • --enable-private-cluster: Hiermee schakelt u de privéclustermodus in.
    • --private-dns-zone [system|none]: hiermee configureert u de privé-DNS-zone voor het cluster. De standaardwaarde is system.
    • --assign-identity <resource-id>: De resource-id van een door de gebruiker toegewezen beheerde identiteit met de rollen Inzender voor privé-DNS-zone en Netwerkbijdrager .
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone [system|none] \
        --generate-ssh-keys
    
  2. Configureer kubectl om verbinding te maken met het privé-AKS-cluster.

Een privé-AKS-cluster maken met een aangepaste privé-DNS-zone of privé-DNS-subzone

  1. Maak een privé-AKS-cluster met een aangepaste privé-DNS-zone of subzone met behulp van de az aks create opdracht.

    Belangrijke parameters in deze opdracht:

    • --enable-private-cluster: Hiermee schakelt u de privéclustermodus in.
    • --private-dns-zone <custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>: De resource-id van een vooraf gemaakte privé-DNS-zone of subzone in de volgende indeling voor de globale Azure-cloud: privatelink.<region>.azmk8s.io of <subzone>.privatelink.<region>.azmk8s.io.
    • --assign-identity <resource-id>: De resource-id van een door de gebruiker toegewezen beheerde identiteit met de rollen Inzender voor privé-DNS-zone en Netwerkbijdrager .
    # The custom private DNS zone name should be in the following format: "<subzone>.privatelink.<region>.azmk8s.io"
    
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone [<custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>] \
        --generate-ssh-keys
    
  2. Configureer kubectl om verbinding te maken met het privé-AKS-cluster.

Een privé-AKS-cluster maken met een aangepaste privé-DNS-zone en een aangepast subdomein

  1. Maak een privé-AKS-cluster met een aangepaste privé-DNS-zone en -subdomein met behulp van de az aks create opdracht.

    Belangrijke parameters in deze opdracht:

    • --enable-private-cluster: Hiermee schakelt u de privéclustermodus in.
    • --private-dns-zone <custom-private-dns-zone-resource-id>: De resource-id van een vooraf gemaakte privé-DNS-zone in de volgende indeling voor de globale Azure-cloud: privatelink.<region>.azmk8s.io
    • --fqdn-subdomain <subdomain>: het subdomein dat moet worden gebruikt voor de cluster-FQDN in de aangepaste privé-DNS-zone.
    • --assign-identity <resource-id>: De resource-id van een door de gebruiker toegewezen beheerde identiteit met de rollen Inzender voor privé-DNS-zone en Netwerkbijdrager .
    # The custom private DNS zone name should be in one of the following formats: "privatelink.<region>.azmk8s.io" or "<subzone>.privatelink.<region>.azmk8s.io"
    
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone <custom-private-dns-zone-resource-id> \
        --fqdn-subdomain <subdomain> \
        --generate-ssh-keys
    
  2. Configureer kubectl om verbinding te maken met het privé-AKS-cluster.

Een bestaand privé-AKS-cluster bijwerken van een privé-DNS-zone naar openbaar

U kunt alleen bijwerken van byo (eigen keuze) of system naar none. Er wordt geen andere combinatie van updatewaarden ondersteund.

Waarschuwing

Wanneer u een privécluster van byo of system naar none bijwerkt, worden de agentknooppunten veranderd naar een publieke FQDN. In een AKS-cluster dat gebruikmaakt van Azure Virtual Machine Scale Sets, wordt een upgrade van de knooppuntinstallatiekopieën uitgevoerd om uw knooppunten bij te werken met de openbare FQDN.

  • Werk een privécluster bij van byo of system naar none met behulp van de az aks update opdracht met de --private-dns-zone parameter ingesteld op none.

    az aks update \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --private-dns-zone none
    

Kubectl configureren om verbinding te maken met een privé-AKS-cluster

Als u een Kubernetes-cluster wilt beheren, gebruikt u de Kubernetes-opdrachtregelclient kubectl. kubectl is al geïnstalleerd als u Azure Cloud Shell gebruikt. Als u lokaal wilt installeren kubectl , gebruikt u de az aks install-cli opdracht.

  1. Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van het az aks get-credentials commando. Bij deze opdracht worden de aanmeldgegevens gedownload en wordt de Kubernetes-opdrachtregelinterface (CLI) geconfigureerd om deze te gebruiken.

    az aks get-credentials --resource-group <private-cluster-resource-group> --name <private-cluster-name>
    
  2. Controleer de verbinding met uw cluster met behulp van de kubectl get opdracht. Met deze opdracht wordt een lijst met de clusterknooppunten geretourneerd.

    kubectl get nodes
    

    De opdracht retourneert uitvoer die vergelijkbaar is met de volgende voorbeelduitvoer:

    NAME                                STATUS   ROLES   AGE    VERSION
    aks-nodepool1-12345678-vmss000000   Ready    agent   3h6m   v1.15.11
    aks-nodepool1-12345678-vmss000001   Ready    agent   3h6m   v1.15.11
    aks-nodepool1-12345678-vmss000002   Ready    agent   3h6m   v1.15.11