Delen via


Quickstart: Een privé-AKS-cluster (Azure Kubernetes Service) maken in een aangepast virtueel netwerk

Van toepassing op: ✔️ AKS Automatisch

Azure Kubernetes Service (AKS) Automatic biedt de eenvoudigste beheerde Kubernetes-ervaring voor ontwikkelaars, DevOps-technici en platformtechnici. Ideaal voor moderne en AI-toepassingen, AKS Automatic automatiseert de installatie en bewerkingen van AKS-clusters en sluit best practice-configuraties in. Gebruikers van elk vaardigheidsniveau kunnen profiteren van de beveiliging, prestaties en betrouwbaarheid van AKS Automatic voor hun toepassingen. AKS Automatic bevat ook een SLA voor podgereedheid die garandeert dat 99,9% van de podgereedheidsbewerkingen binnen 5 minuten voltooid zijn, die ervoor zorgt dat uw toepassingen een betrouwbare, zelfhelende infrastructuur hebben. In deze snelstart wordt ervan uitgegaan dat u een basisbegrip hebt van Kubernetes-concepten. Zie Kubernetes-kernconcepten voor Azure Kubernetes Service (AKS) voor meer informatie.

In deze quickstart leert u het volgende:

  • Maak een virtueel netwerk.
  • Maak een beheerde identiteit met machtigingen via het virtuele netwerk.
  • Implementeer een privé-AKS Automatisch cluster in het virtuele netwerk.
  • Maak verbinding met het privécluster.
  • Voer een voorbeeldtoepassing met meerdere containers uit met een groep microservices en webfront-ends die een retailscenario simuleren.

Vereiste voorwaarden

  • Voor dit artikel is versie 2.77.0 of hoger van de Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie daar al geïnstalleerd. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

Beperkingen

  • De systeemknooppuntpool van AKS Automatische clusters vereist implementatie in Azure-regio's die ondersteuning bieden voor ten minste drie beschikbaarheidszones, tijdelijke besturingssysteemschijf en Azure Linux-besturingssysteem.
  • U kunt alleen automatische AKS-clusters maken in regio's waar VNet-integratie van API Server algemeen beschikbaar is.

Belangrijk

AKS Automatic probeert dynamisch een grootte van een virtuele machine voor de system knooppuntgroep te selecteren op basis van de capaciteit die beschikbaar is in het abonnement. Zorg ervoor dat uw abonnement een quotum van 16 vCPU's heeft van een van de volgende grootten in de regio waarin u het cluster implementeert: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 of Standard_D4alds_v5. U kunt quota voor specifieke VM-families weergeven en aanvragen voor quotumverhoging indienen via Azure Portal. Als u aanvullende vragen hebt, vindt u meer informatie via de documentatie voor probleemoplossing.

Variabelen definiëren

Definieer de volgende variabelen die in de volgende stappen worden gebruikt.

RG_NAME=automatic-rg
VNET_NAME=automatic-vnet
CLUSTER_NAME=automatic
IDENTITY_NAME=automatic-uami
LOCATION=eastus
SUBSCRIPTION_ID=$(az account show --query id -o tsv)

Een brongroep maken

Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd.

Maak een resourcegroep met de opdracht az group create.

az group create -n ${RG_NAME} -l ${LOCATION}

Hieronder staat een voorbeelduitvoer die lijkt op een geslaagde aanmaak van de resourcegroep.

{
  "id": "/subscriptions/<guid>/resourceGroups/automatic-rg",
  "location": "eastus",
  "managedBy": null,
  "name": "automatic-rg",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Een virtueel netwerk maken

Maak een virtueel netwerk met behulp van de az network vnet create opdracht. Maak een subnet van de API-server en het clustersubnet met behulp van de az network vnet subnet create opdracht.

Wanneer u een aangepast virtueel netwerk gebruikt met AKS Automatic, moet u een API-server-subnet maken en delegeren aan Microsoft.ContainerService/managedClusters, waarmee de AKS-service de machtigingen krijgt om de API-serverpods en interne load balancer in dat subnet te injecteren. U kunt het subnet niet gebruiken voor andere workloads, maar u kunt het gebruiken voor meerdere AKS-clusters die zich in hetzelfde virtuele netwerk bevinden. De minimaal ondersteunde subnetgrootte van de API-server is een /28.

Waarschuwing

Een AKS-cluster reserveert ten minste 9 IP-adressen in de adresruimte van het subnet. Als er onvoldoende IP-adressen zijn, kan de schaalbaarheid van de API-server worden belemmerd en kan dit leiden tot een uitval van de API-server.

az network vnet create --name ${VNET_NAME} \
--resource-group ${RG_NAME} \
--location ${LOCATION} \
--address-prefixes 172.19.0.0/16

az network vnet subnet create --resource-group ${RG_NAME} \
--vnet-name ${VNET_NAME} \
--name apiServerSubnet \
--delegations Microsoft.ContainerService/managedClusters \
--address-prefixes 172.19.0.0/28

az network vnet subnet create --resource-group ${RG_NAME} \
--vnet-name ${VNET_NAME} \
--name clusterSubnet \
--address-prefixes 172.19.1.0/24

Regels voor netwerkbeveiligingsgroepen

Al het verkeer binnen het virtuele netwerk is standaard toegestaan. Maar als u NSG-regels (Network Security Group) hebt toegevoegd om verkeer tussen verschillende subnetten te beperken, moet u ervoor zorgen dat de NSG-beveiligingsregels de volgende typen communicatie toestaan:

Bestemming Bron protocol Porto Gebruik
APIServer Subnetwerk CIDR Clustersubnet TCP 443 en 4443 Vereist om communicatie tussen knooppunten en de API-server mogelijk te maken.
APIServer Subnetwerk CIDR Azure-belastingsverdeling TCP 9988 Vereist om communicatie mogelijk te maken tussen Azure Load Balancer en de API-server. U kunt ook alle communicatie tussen de Azure Load Balancer en de CIDR van het API Server-subnet inschakelen.
Knooppunt-CIDR Knooppunt-CIDR Alle protocollen Alle poorten Vereist om communicatie tussen knooppunten mogelijk te maken.
Knooppunt-CIDR Pod CIDR Alle protocollen Alle poorten Vereist voor serviceverkeersroutering.
Pod CIDR Pod CIDR Alle protocollen Alle poorten Vereist voor Pod-naar-Pod- en Pod-naar-Serviceverkeer, inclusief DNS.

Een beheerde identiteit maken en deze machtigingen geven voor het virtuele netwerk

Maak een beheerde identiteit met behulp van de az identity create opdracht en haal de principal-id op. Wijs de rol Inzender voor het netwerk in het virtuele netwerk toe aan de beheerde identiteit met behulp van de az role assignment create opdracht.

az identity create \
--resource-group ${RG_NAME} \
 --name ${IDENTITY_NAME} \
 --location ${LOCATION}

IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group ${RG_NAME} --name ${IDENTITY_NAME} --query principalId -o tsv)

az role assignment create \
--scope "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}" \
--role "Network Contributor" \
--assignee ${IDENTITY_PRINCIPAL_ID}

Een privé-AKS Automatisch cluster maken in een aangepast virtueel netwerk

Als u een privé-AKS Automatisch cluster wilt maken, gebruikt u de opdracht az aks create . Let op het gebruik van de --enable-private-cluster vlag.

Opmerking

Raadpleeg de documentatie van het privécluster voor het configureren van extra opties, zoals het uitschakelen van de openbare FQDN van het cluster en het configureren van de privé-DNS-zone.

az aks create \
--resource-group ${RG_NAME} \
--name ${CLUSTER_NAME} \
--location ${LOCATION} \
--apiserver-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/apiServerSubnet" \
--vnet-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/clusterSubnet" \
--assign-identity "/subscriptions/${SUBSCRIPTION_ID}/resourcegroups/${RG_NAME}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${IDENTITY_NAME}" \
--sku automatic \
--enable-private-cluster \
--no-ssh-key

Na enkele minuten is de opdracht voltooid en retourneert deze informatie over het cluster in JSON-indeling.

Verbinding maken met het cluster

Wanneer een automatisch AKS-cluster wordt gemaakt als een privécluster, heeft het EINDPUNT van de API-server geen openbaar IP-adres. Als u de API-server wilt beheren, bijvoorbeeld via kubectl, moet u verbinding maken via een computer die toegang heeft tot het virtuele Azure-netwerk van het cluster. Er zijn verschillende opties voor het tot stand brengen van netwerkconnectiviteit met het privécluster:

Het maken van een virtuele machine in hetzelfde virtuele netwerk als het AKS-cluster is de eenvoudigste optie. 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. Raadpleeg Opties voor het maken van verbinding met het privécluster voor meer informatie.

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 , voert u de opdracht az aks install-cli uit. Automatische AKS-clusters worden geconfigureerd met Microsoft Entra-id voor op rollen gebaseerd toegangsbeheer (RBAC) van Kubernetes.

Wanneer u een cluster maakt met behulp van de Azure CLI, krijgt uw gebruiker ingebouwde rollen toegewezen voor Azure Kubernetes Service RBAC Cluster Admin.

Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van de opdracht az aks get-credentials. Deze opdracht downloadt referenties en configureert de Kubernetes CLI om deze te gebruiken.

az aks get-credentials --resource-group ${RG_NAME} --name ${CLUSTER_NAME}

Controleer de verbinding met uw cluster met behulp van de opdracht kubectl get . Met deze opdracht wordt een lijst met de clusterknooppunten geretourneerd.

kubectl get nodes

In de volgende voorbeelduitvoer ziet u hoe u wordt gevraagd u aan te melden.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Nadat u zich hebt aangemeld, ziet u in de volgende voorbeelduitvoer de pools van het beheerde systeemknooppunt. Zorg ervoor dat de status van het knooppunt gereed is.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Een virtueel netwerk maken

Dit Bicep-bestand definieert een virtueel netwerk.

@description('The location of the managed cluster resource.')
param location string = resourceGroup().location

@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'

@description('The address prefix of the virtual network.')
param addressPrefix string = '172.19.0.0/16'

@description('The name of the API server subnet.')
param apiServerSubnetName string = 'apiServerSubnet'

@description('The subnet prefix of the API server subnet.')
param apiServerSubnetPrefix string = '172.19.0.0/28'

@description('The name of the cluster subnet.')
param clusterSubnetName string = 'clusterSubnet'

@description('The subnet prefix of the cluster subnet.')
param clusterSubnetPrefix string = '172.19.1.0/24'

// Virtual network with an API server subnet and a cluster subnet
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' = {
    name: vnetName
    location: location
    properties: {
        addressSpace: {
            addressPrefixes: [ addressPrefix ]
        }
        subnets: [
            {
                name: apiServerSubnetName
                properties: {
                    addressPrefix: apiServerSubnetPrefix
                }
            }
            {
                name: clusterSubnetName
                properties: {
                    addressPrefix: clusterSubnetPrefix
                }
            }
        ]
    }
}

output apiServerSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, apiServerSubnetName)
output clusterSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, clusterSubnetName)

Sla het Bicep-bestand virtualNetwork.bicep op uw lokale computer op.

Belangrijk

Het Bicep-bestand stelt de vnetName param in op aksAutomaticVnet, de addressPrefix param op 172.19.0.0/16, de apiServerSubnetPrefix param op 172.19.0.0/28 en de apiServerSubnetPrefix param op 172.19.1.0/24. Als u verschillende waarden wilt gebruiken, moet u ervoor zorgen dat u de tekenreeksen bijwerkt naar uw voorkeurswaarden.

Implementeer het Bicep-bestand met behulp van de Azure CLI.

az deployment group create --resource-group <resource-group> --template-file virtualNetwork.bicep

Al het verkeer binnen het virtuele netwerk is standaard toegestaan. Maar als u NSG-regels (Network Security Group) hebt toegevoegd om verkeer tussen verschillende subnetten te beperken, moet u ervoor zorgen dat de NSG-beveiligingsregels de volgende typen communicatie toestaan:

Bestemming Bron protocol Porto Gebruik
APIServer Subnetwerk CIDR Clustersubnet TCP 443 en 4443 Vereist om communicatie tussen knooppunten en de API-server mogelijk te maken.
APIServer Subnetwerk CIDR Azure-belastingsverdeling TCP 9988 Vereist om communicatie mogelijk te maken tussen Azure Load Balancer en de API-server. U kunt ook alle communicatie tussen de Azure Load Balancer en de CIDR van het API Server-subnet inschakelen.

Een beheerde identiteit maken

Dit Bicep-bestand definieert een door de gebruiker toegewezen beheerde identiteit.

param location string = resourceGroup().location
param uamiName string = 'aksAutomaticUAMI'

resource userAssignedManagedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
  name: uamiName
  location: location
}

output uamiId string = userAssignedManagedIdentity.id
output uamiPrincipalId string = userAssignedManagedIdentity.properties.principalId
output uamiClientId string = userAssignedManagedIdentity.properties.clientId

Sla het Bicep-bestand uami.bicep op uw lokale computer op.

Belangrijk

Het Bicep-bestand stelt de uamiName parameter in op de aksAutomaticUAMI. Als u een andere identiteitsnaam wilt gebruiken, moet u de tekenreeks bijwerken naar uw voorkeursnaam.

Implementeer het Bicep-bestand met behulp van de Azure CLI.

az deployment group create --resource-group <resource-group> --template-file uami.bicep

De rol Netwerkbijdrager toewijzen op het virtuele netwerk

Dit Bicep-bestand definieert roltoewijzingen via het virtuele netwerk.

@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'

@description('The principal ID of the user assigned managed identity.')
param uamiPrincipalId string

// Get a reference to the virtual network
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' existing ={
  name: vnetName
}

// Assign the Network Contributor role to the user assigned managed identity on the virtual network
// '4d97b98b-1d4f-4787-a291-c67834d212e7' is the built-in Network Contributor role definition
// See: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles/networking#network-contributor
resource networkContributorRoleAssignmentToVirtualNetwork 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(uamiPrincipalId, '4d97b98b-1d4f-4787-a291-c67834d212e7', resourceGroup().id, virtualNetwork.name)
  scope: virtualNetwork
  properties: {
      roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', '4d97b98b-1d4f-4787-a291-c67834d212e7')
      principalId: uamiPrincipalId
  }
}

Sla het Bicep-bestand roleAssignments.bicep op uw lokale computer op.

Belangrijk

Het Bicep-bestand stelt de vnetName param in op aksAutomaticVnet. Als u een andere naam voor een virtueel netwerk hebt gebruikt, moet u de tekenreeks bijwerken naar de naam van het virtuele netwerk van uw voorkeur.

Implementeer het Bicep-bestand met behulp van de Azure CLI. U moet de principal-id van de door de gebruiker toegewezen identiteit opgeven.

az deployment group create --resource-group <resource-group> --template-file roleAssignments.bicep \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>

Een privé-AKS Automatisch cluster maken in een aangepast virtueel netwerk

Dit Bicep-bestand definieert het AKS automatische cluster.

Opmerking

Raadpleeg de documentatie voor het privécluster voor het configureren van extra opties, zoals het uitschakelen van de openbare FQDN-clusters en het configureren van de privé-DNS-zone.

@description('The name of the managed cluster resource.')
param clusterName string = 'aksAutomaticCluster'

@description('The location of the managed cluster resource.')
param location string = resourceGroup().location

@description('The resource ID of the API server subnet.')
param apiServerSubnetId string

@description('The resource ID of the cluster subnet.')
param clusterSubnetId string

@description('The resource ID of the user assigned managed identity.')
param uamiId string

/// Create the private AKS Automatic cluster using the custom virtual network and user assigned managed identity
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
  name: clusterName
  location: location  
  sku: {
    name: 'Automatic'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        mode: 'System'
          count: 3
        vnetSubnetID: clusterSubnetId
      }
    ]
    apiServerAccessProfile: {
        subnetId: apiServerSubnetId
        enablePrivateCluster: true
    }
    networkProfile: {
      outboundType: 'loadBalancer'
    }
  }
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${uamiId}': {}
    }
  }
}

Sla het Bicep-bestand aks.bicep op uw lokale computer op.

Belangrijk

Het Bicep-bestand stelt de clusterName param in op aksAutomaticCluster. Als u een andere clusternaam wilt, moet u de tekenreeks bijwerken naar de clusternaam van uw voorkeur.

Implementeer het Bicep-bestand met behulp van de Azure CLI. U moet de resource-id van het subnet van de API-server, de resource-id van het clustersubnet en de door de gebruiker toegewezen identiteits-id opgeven.

az deployment group create --resource-group <resource-group> --template-file aks.bicep \
--parameters apiServerSubnetId=<API server subnet resource id> \
--parameters clusterSubnetId=<cluster subnet resource id> \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>

Verbinding maken met het cluster

Wanneer een automatisch AKS-cluster wordt gemaakt als een privécluster, heeft het EINDPUNT van de API-server geen openbaar IP-adres. Als u de API-server wilt beheren, bijvoorbeeld via kubectl, moet u verbinding maken via een computer die toegang heeft tot het virtuele Azure-netwerk van het cluster. Er zijn verschillende opties voor het tot stand brengen van netwerkconnectiviteit met het privécluster:

Het maken van een virtuele machine in hetzelfde virtuele netwerk als het AKS-cluster is de eenvoudigste optie. 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. Raadpleeg Opties voor het maken van verbinding met het privécluster voor meer informatie.

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 , voert u de opdracht az aks install-cli uit. Automatische AKS-clusters worden geconfigureerd met Microsoft Entra-id voor op rollen gebaseerd toegangsbeheer (RBAC) van Kubernetes.

Belangrijk

Wanneer u een cluster maakt met Bicep, moet u een van de ingebouwde rollen, zoals Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writerof Azure Kubernetes Service RBAC AdminAzure Kubernetes Service RBAC Cluster Admin aan uw gebruikers, toewijzen die zijn afgestemd op het cluster of een specifieke naamruimte, bijvoorbeeld met behulp van az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com. Zorg er ook voor dat uw gebruikers beschikken over de ingebouwde rol Azure Kubernetes Service Cluster User, zodat ze az aks get-credentials kunnen uitvoeren. Haal vervolgens de kubeconfig van uw AKS-cluster op met behulp van de opdracht az aks get-credentials.

Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van de opdracht az aks get-credentials. Deze opdracht downloadt referenties en configureert de Kubernetes CLI om deze te gebruiken.

az aks get-credentials --resource-group <resource-group> --name <cluster-name>

Controleer de verbinding met uw cluster met behulp van de opdracht kubectl get . Met deze opdracht wordt een lijst met de clusterknooppunten geretourneerd.

kubectl get nodes

In de volgende voorbeelduitvoer ziet u hoe u wordt gevraagd u aan te melden.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Nadat u zich hebt aangemeld, ziet u in de volgende voorbeelduitvoer de pools van het beheerde systeemknooppunt. Zorg ervoor dat de status van het knooppunt gereed is.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

De toepassing implementeren

Als u de toepassing wilt implementeren, gebruikt u een manifestbestand om alle objecten te maken die nodig zijn om de AKS Store-toepassing uit te voeren. Een Kubernetes-manifestbestand definieert de gewenste status van een cluster, zoals welke containerinstallatiekopieën moeten worden uitgevoerd. Het manifest bevat de volgende Kubernetes-implementaties en -services:

Schermopname van azure Store-voorbeeldarchitectuur.

  • Webwinkel: Webtoepassing voor klanten om producten te bekijken en bestellingen te plaatsen.
  • Productservice: toont productgegevens.
  • Orderservice: Orders plaatsen.
  • Rabbit MQ: Berichtensysteem voor een bestelwachtrij.

Opmerking

We raden aan om stateful containers, zoals RabbitMQ, niet te gebruiken zonder permanente opslag voor productie. Deze containers worden hier voor het gemak gebruikt, maar we raden u aan beheerde services te gebruiken, zoals Azure Cosmos DB of Azure Service Bus.

  1. Maak een naamruimte aks-store-demo om de Kubernetes-resources in te implementeren.

    kubectl create ns aks-store-demo
    
  2. Implementeer de toepassing met behulp van de opdracht kubectl apply in de aks-store-demo naamruimte. Het YAML-bestand dat de implementatie definieert, bevindt zich op GitHub.

    kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
    

    In de volgende voorbeelduitvoer ziet u de implementaties en services:

    statefulset.apps/rabbitmq created
    configmap/rabbitmq-enabled-plugins created
    service/rabbitmq created
    deployment.apps/order-service created
    service/order-service created
    deployment.apps/product-service created
    service/product-service created
    deployment.apps/store-front created
    service/store-front created
    ingress/store-front created
    

De toepassing testen

Wanneer de toepassing wordt uitgevoerd, maakt een Kubernetes-service de front-end van de toepassing beschikbaar op internet. Dit proces kan enkele minuten duren.

  1. Controleer de status van de geïmplementeerde pods met behulp van de opdracht kubectl get pods . Zorg ervoor dat alle pods gereed zijn Running voordat u doorgaat. Als dit de eerste workload is die u implementeert, kan het enkele minuten duren voordat het automatisch inrichten van knooppunten een nodepool maakt om de pods te laten draaien.

    kubectl get pods -n aks-store-demo
    
  2. Controleer op een openbaar IP-adres voor de store-front-toepassing. Controleer de voortgang met behulp van de opdracht kubectl get service met het --watch argument.

    kubectl get ingress store-front -n aks-store-demo --watch
    

    Aanvankelijk toont de ADRESUITVOER voor de store-front service leeg:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Zodra het ADRES verandert van leeg naar een werkelijk openbaar IP-adres, gebruikt u CTRL-C om het kubectl observatieproces te stoppen.

    In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat is toegewezen aan de service:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Ga met een webbrowser naar het externe IP-adres van uw ingress om de Azure Store-app in actie te zien.

    Schermopname van de AKS Store-voorbeeldtoepassing.

Het cluster verwijderen

Als u niet van plan bent om de AKS-zelfstudie te doorlopen, moet u overbodige resources opschonen om Azure-kosten te voorkomen. Voer de opdracht az group delete uit om de resourcegroep, containerservice en alle gerelateerde resources te verwijderen.

az group delete --name <resource-group> --yes --no-wait

Opmerking

Het AKS-cluster is gemaakt met een door de gebruiker toegewezen beheerde identiteit. Als u die identiteit niet meer nodig hebt, kunt u deze handmatig verwijderen.

Volgende stappen

In deze quickstart hebt u een privé Kubernetes-cluster geïmplementeerd met behulp van AKS Automatic in een aangepast virtueel netwerk en vervolgens een eenvoudige toepassing met meerdere containers erop geïmplementeerd. Deze voorbeeldtoepassing is alleen bedoeld voor demodoeleinden en vertegenwoordigt niet alle aanbevolen procedures voor Kubernetes-toepassingen. Zie de richtlijnen voor AKS-oplossingen voor meer informatie over het maken van volledige oplossingen met AKS voor productie.

Ga verder met de inleiding voor meer informatie over AKS Automatic.