Delen via


Netwerkconnectiviteit tot stand brengen met een privé-AKS-cluster (Azure Kubernetes Service)

In privé-AKS-clusters heeft het EINDPUNT van de API-server geen openbaar IP-adres. Als u de API-server wilt beheren, moet u een virtuele machine (VM) of container gebruiken die toegang heeft tot het virtuele netwerk (VNet) van het AKS-cluster. Er zijn verschillende opties voor het tot stand brengen van netwerkconnectiviteit met het privécluster:

Een connectiviteitsoptie kiezen

Azure Cloud Shell en Azure Bastion (preview) zijn de eenvoudigste opties. ExpressRoute en VPN's voegen kosten toe en vereisen extra netwerkcomplexiteit. Voor peering van virtuele netwerken moet u de CIDR-bereiken van uw netwerk plannen om ervoor te zorgen dat er geen overlappende bereiken zijn.

De volgende tabel bevat een overzicht van de belangrijkste verschillen en beperkingen van het gebruik van Azure Cloud Shell en Azure Bastion:

Optie Azure Cloud Shell Azure Bastion (preview)
Belangrijkste verschillen • Kortstondige, op browser gebaseerde toegang.
• Kosteneffectief.
• Wordt geleverd met vooraf geïnstalleerde gereedschap zoals az cli en kubectl.
• Permanente, langdurige toegang.
• Geschikt voor het beheren van meerdere clusters.
• Gebruik uw eigen systeemeigen client-tools.
Beperkingen • Niet ondersteund met automatische AKS-clusters of clusters met netwerkresourcegroepvergrendeling (NRG).
• U kunt niet meerdere Cloud Shell-sessies tegelijk in verschillende VNets hebben.
• Niet ondersteund met automatische AKS-clusters of clusters met NRG-vergrendeling.

Verbinding maken met Behulp van Azure Cloud Shell

Voor het maken van verbinding met een privé-AKS-cluster via Azure Cloud Shell moet u de volgende stappen uitvoeren:

  • Vereiste resources implementeren: U moet Cloud Shell implementeren in een VNet dat uw privécluster kan bereiken. Met deze stap wordt de benodigde infrastructuur ingericht. Hoewel Cloud Shell een gratis service is, vereist het gebruik van Cloud Shell in een VNet enkele resources waarvoor kosten in rekening worden gebracht. Zie Cloud Shell implementeren in een virtueel netwerk voor meer informatie.
  • De verbinding configureren: Nadat u de resources hebt geïmplementeerd, kan elke gebruiker in het abonnement met de juiste machtigingen voor het cluster Cloud Shell configureren voor implementatie in het VNet om een beveiligde verbinding met het privécluster mogelijk te maken.

Benodigde middelen uitrollen

Als u de vereiste resources wilt implementeren en configureren, moet u de roltoewijzing Eigenaar voor het abonnement hebben. Zie Lijsteigenaren van een abonnement om rollen weer te geven en toe te wijzen.

U kunt de vereiste resources implementeren met behulp van Azure Portal of de opgegeven ARM-sjabloon als u infrastructuur als code beheert of organisatiebeleidsregels hebt waarvoor specifieke naamconventies voor resources zijn vereist.

U kunt de geïmplementeerde resources desgewenst behouden voor toekomstige verbindingen of ze verwijderen en opnieuw maken indien nodig.

Azure Portal gebruiken (preview)

Met deze optie maakt u een afzonderlijk VNet met de benodigde resources voor Cloud Shell en configureert u VNet-peering.

  1. Navigeer in Azure Portal naar uw privéclusterresource.
  2. Selecteer Verbinding maken op de pagina Overzicht.
  3. Selecteer op het tabblad Cloud Shell , onder Vereisten voor privéclusterverbinding, Configureren om de benodigde resources te implementeren.
    • Met de implementatie maakt u een nieuwe resourcegroep met de naam RG-CloudShell-PrivateClusterConnection-{RANDOM_ID}.
  4. Zodra de implementatie is voltooid, selecteert u onder Clustercontext instellen de optie Cloud Shell openen.

Schermopname van Azure Portal op de resourcepagina van een privécluster met de knop Verbinding maken met het tabblad Cloud Shell geselecteerd.

Opmerking

Als u Cloud Shell al hebt geconfigureerd in een VNet voor een bepaald cluster, zorgt u ervoor dat uw Cloud Shell-gebruikersinstellingen correct zijn afgestemd op dat VNet.

Een ARM-sjabloon gebruiken

Als u meer controle wilt over de implementatieconfiguratie, gebruikt u de opgegeven ARM-sjabloon.

U kunt Cloud Shell implementeren in hetzelfde VNet als uw AKS-privécluster met een toegewezen subnet, of u kunt in een nieuw VNet implementeren en verbinding maken via VNet-peering.

Verbinding met het privécluster configureren

Nadat u de vereiste resources hebt geïmplementeerd, kan elke gebruiker in het abonnement de Cloud Shell configureren om in het opgegeven VNet te implementeren met behulp van de stappen in Cloud Shell configureren om een virtueel netwerk te gebruiken.

Zorg ervoor dat de gebruiker de juiste Kubernetes-toegang heeft om verbinding te maken met het privécluster. Zie Toegangs- en identiteitsopties voor Azure Kubernetes Service (AKS) voor meer informatie.

Verbinding maken met behulp van Azure Bastion (preview)

Azure Bastion is een volledig beheerde PaaS-service die u inricht om veilig verbinding te maken met privé-resources via privé-IP-adressen. Als u de systeemeigen clienttunnelfunctie van Bastion wilt gebruiken, raadpleegt u Verbinding maken met een privécluster van AKS met behulp van Azure Bastion.

Verbinding maken met behulp van VNet-peering (virtueel netwerk)

Als u VNet-peering wilt gebruiken, moet u een koppeling instellen tussen het VNet en de privé-DNS-zone. U kunt VNet-peering instellen met behulp van Azure Portal of de Azure CLI.

De Azure-portal gebruiken

  1. Navigeer in Azure Portal naar uw knooppuntresourcegroep en selecteer uw privé-DNS-zoneresource.

  2. Selecteer in het servicemenu onder DNS-beheer de optie Add Virtual Network Links>.

  3. Configureer op de pagina Koppeling voor virtueel netwerk toevoegen de volgende instellingen:

    • Koppelingsnaam: Voer een naam in voor de koppeling voor het virtuele netwerk.
    • Virtueel netwerk: selecteer het virtuele netwerk dat de virtuele machine bevat.
  4. Selecteer Maken om de koppeling voor het virtuele netwerk te maken.

  5. Navigeer naar de resourcegroep die het virtuele netwerk van uw AKS-cluster bevat en selecteer uw virtuele netwerkresource.

  6. Selecteer In het servicemenu onder Instellingen de optie Peerings>Toevoegen.

  7. Configureer op de pagina Peering toevoegen de volgende instellingen:

    • Naam van peeringkoppeling: Geef een naam op voor de koppeling.
    • Virtueel netwerk: selecteer het virtuele netwerk van de virtuele machine.
  8. Selecteer Toevoegen om de peeringverbinding te maken.

Zie Peering voor virtuele netwerken voor meer informatie.

De Azure CLI gebruiken

  1. Maak een nieuwe koppeling om het virtuele netwerk van de virtuele machine toe te voegen aan de privé-DNS-zone met behulp van de az network private-dns link vnet create opdracht.

    az network private-dns link vnet create \
        --name <new-link-name> \
        --resource-group <node-resource-group-name> \
        --zone-name <private-dns-zone-name> \
        --virtual-network <vm-virtual-network-resource-id> \
        --registration-enabled false
    
  2. Maak een peering tussen het virtuele netwerk van de virtuele machine en het virtuele netwerk van de knooppuntresourcegroep met behulp van de az network vnet peering create opdracht.

    az network vnet peering create \
        --name <new-peering-name-1> \
        --resource-group <vm-virtual-network-resource-group-name> \
        --vnet-name <vm-virtual-network-name> \
        --remote-vnet <node-resource-group-virtual-network-resource-id> \
        --allow-vnet-access
    
  3. Maak een tweede peering tussen het virtuele netwerk van de knooppuntresourcegroep en het virtuele netwerk van de virtuele machine met behulp van de az network vnet peering create opdracht.

    az network vnet peering create \
        --name <new-peering-name-2> \
        --resource-group <node-resource-group-name> \
        --vnet-name <node-resource-group-virtual-network-name> \
        --remote-vnet <vm-virtual-network-resource-id> \
        --allow-vnet-access
    
  4. Vermeld de peerings van het virtuele netwerk die u hebt gemaakt met behulp van de az network vnet peering list opdracht.

    az network vnet peering list \
        --resource-group <node-resource-group-name> \
        --vnet-name <private-dns-zone-name>
    

Een privé-eindpuntverbinding gebruiken

U kunt een privé-eindpunt instellen zodat een VNet niet hoeft te worden gekoppeld om te communiceren met het privécluster. Als u een privé-eindpuntverbinding wilt instellen, maakt u eerst een nieuw privé-eindpunt in het virtuele netwerk met de verbruikende resources en maakt u vervolgens een koppeling tussen uw virtuele netwerk en een nieuwe privé-DNS-zone in hetzelfde netwerk.

Belangrijk

Als het virtuele netwerk is geconfigureerd met aangepaste DNS-servers, moet u privé-DNS instellen voor de omgeving. Zie de documentatie voor naamomzetting van het virtuele netwerk voor meer informatie.

Een privé-eindpuntresource maken

  1. Selecteer een resource maken op de startpagina van Azure Portal.

  2. Zoek naar privé-eindpunt en selecteerPrivé-eindpunt>.

  3. Klik op Creëren.

  4. Configureer op het tabblad Basisbeginselen de volgende instellingen:

    • Projectdetails

      • Abonnement: Selecteer het abonnement waarin uw privécluster zich bevindt.
      • Resourcegroep: Selecteer de resourcegroep die uw virtuele netwerk bevat.
    • Instantiegegevens

      • Naam: Voer een naam in voor uw privé-eindpunt, zoals myPrivateEndpoint.
      • Regio: Selecteer dezelfde regio als uw virtuele netwerk.
  5. Selecteer Volgende: Resource en configureer de volgende instellingen:

    • Verbindingsmethode: Selecteer Verbinding maken met een Azure-resource in mijn directory.
    • Abonnement: Selecteer het abonnement waarin uw privécluster zich bevindt.
    • Resourcetype: Selecteer Microsoft.ContainerService/managedClusters.
    • Resource: Selecteer uw privécluster.
    • Doelsubresource: Selecteer beheer.
  6. Selecteer Volgende: Virtueel netwerk en configureer de volgende instellingen:

    • Netwerken
      • Virtueel netwerk: selecteer uw virtuele netwerk.
      • Subnet: Selecteer uw subnet.
  7. Selecteer Volgende: DNS>Next: Tags en (optioneel) stel indien nodig sleutelwaarden in.

  8. Selecteer Volgende: Beoordelen en maken>.

Zodra de resource is gemaakt, registreert u het privé-IP-adres van het privé-eindpunt voor toekomstig gebruik.

Een privé-DNS-zone maken

Wanneer u het privé-eindpunt hebt gemaakt, maakt u een nieuwe privé-DNS-zone met dezelfde naam als de privé-DNS-zone die door het privécluster is gemaakt. Vergeet niet om deze DNS-zone te maken in het VNet met de verbruikende resources.

  1. Navigeer in Azure Portal naar uw knooppuntresourcegroep en selecteer uw privé-DNS-zoneresource.

  2. Selecteer recordsets in het servicemenu onder DNS-beheer en noteer het volgende:

    • De naam van de privé-DNS-zone, die het patroon *.privatelink.<region>.azmk8s.iovolgt.
    • De naam van de A record (met uitzondering van de privé-DNS-naam).
    • De time-to-live-instelling (TTL).
  3. Selecteer een resource maken op de startpagina van Azure Portal.

  4. Zoek naar privé-DNS-zone en selecteerPrivé-DNS-zone>.

  5. Configureer op het tabblad Basisbeginselen de volgende instellingen:

    • Projectdetails

      • Selecteer uw abonnement.
      • Selecteer de resourcegroep waarin u het privé-eindpunt hebt gemaakt.
    • Instantiegegevens

      • Naam: Voer de naam in van de DNS-zone die is opgehaald uit de vorige stappen.
      • Regio: is standaard ingesteld op de locatie van uw resourcegroep.
  6. Selecteer Beoordelen en maken>Maken.

A Een record maken

Zodra de privé-DNS-zone is gemaakt, maakt u een A record die het privé-eindpunt koppelt aan het privécluster.

  1. Navigeer naar uw private DNS-zonebron.

  2. Selecteer recordsets> in het servicemenu onder DNS-beheer.

  3. Configureer op de pagina Recordset toevoegen de volgende instellingen:

    • Naam: Voer de naam in die is opgehaald uit de record in de A DNS-zone van het privécluster.
    • Type: Selecteer A - Adresrecord.
    • TTL: Voer het nummer uit de A record in de DNS-zone van het privécluster in.
    • TTL-eenheid: Wijzig de vervolgkeuzelijst zodat deze overeenkomt met de waarde in de record uit de A DNS-zone van het privécluster.
    • IP-adres: voer het IP-adres in van het privé-eindpunt dat u hebt gemaakt.
  4. Selecteer Toevoegen om de A record te maken.

Belangrijk

Gebruik bij het maken van de A record alleen de naam en niet de FQDN (Fully Qualified Domain Name).

Zodra de A record is gemaakt, koppelt u de privé-DNS-zone aan het virtuele netwerk dat toegang krijgt tot het privécluster.

  1. Navigeer naar uw private DNS-zonebron.

  2. Selecteer in het servicemenu onder DNS-beheer de optie Add Virtual Network Links>.

  3. Configureer op de pagina Koppeling voor virtueel netwerk toevoegen de volgende instellingen:

    • Koppelingsnaam: Voer een naam in voor uw virtuele netwerkkoppeling.
    • Abonnement: Selecteer het abonnement waarin uw privécluster zich bevindt.
    • Virtueel netwerk: selecteer het virtuele netwerk van uw privécluster.
  4. Selecteer Maken om de koppeling te maken.

    Het kan enkele minuten duren voordat de bewerking is voltooid. Zodra de koppeling voor het virtuele netwerk is gemaakt, kunt u deze openen via het tabblad Koppelingen van virtuele netwerken dat u in stap 2 hebt gebruikt.

Waarschuwing

  • Als het privécluster is gestopt en opnieuw wordt gestart, wordt de oorspronkelijke private link-service van het privécluster verwijderd en opnieuw gemaakt, waardoor de verbinding tussen uw privé-eindpunt en het privécluster wordt verbroken. U kunt dit probleem oplossen door alle door de gebruiker gemaakte privé-eindpunten te verwijderen en opnieuw te maken die zijn gekoppeld aan het privécluster. Als de opnieuw gemaakte privé-eindpunten nieuwe IP-adressen hebben, moet u ook DNS-records bijwerken.
  • Als u de DNS-records in de privé-DNS-zone bijwerkt, moet u ervoor zorgen dat de host waaruit u verbinding probeert te maken, gebruikmaakt van de bijgewerkte DNS-records. U kunt dit controleren met behulp van de nslookup opdracht. Als u merkt dat de updates niet worden weergegeven in de uitvoer, moet u mogelijk de DNS-cache op uw computer leegmaken en het opnieuw proberen.

Een virtuele machine maken in hetzelfde virtuele netwerk

Als u een virtuele machine wilt maken in hetzelfde VNet als uw privé-AKS-cluster, gebruikt u de az vm create opdracht met de --vnet-name vlag om het VNet op te geven.

az vm create \
    --resource-group <resource-group-name> \
    --name <vm-name> \
    --image <image-name> \
    --vnet-name <vm-virtual-network-name> \
    --subnet <subnet-name> \
    --admin-username <admin-username> \
    --admin-password <admin-password>

Een Express Route- of VPN-verbinding gebruiken

Als u een Express Route- of VPN-verbinding wilt gebruiken, raadpleegt u About ExpressRoute virtual network gateways.

De AKS-functie command invoke gebruiken

Als u de AKS-functie command invoke wilt gebruiken om verbinding te maken met een privécluster, raadpleegt u Toegang tot een privécluster met behulp van command invoke.

Zie Een privé-AKS-cluster (Azure Kubernetes Service) maken voor meer informatie over privéclusters in AKS.