Delen via


Zelfstudie: Een toepassing implementeren in Azure Kubernetes Service (AKS)

Kubernetes biedt een gedistribueerd platform voor toepassingen in containers. U bouwt en implementeert uw eigen toepassingen en services in een Kubernetes-cluster en laat het cluster de beschikbaarheid en connectiviteit beheren.

In deze zelfstudie implementeert u deel vier van zeven een voorbeeldtoepassing in een Kubernetes-cluster. U leert het volgende:

  • Werk een Kubernetes-manifestbestand bij.
  • Voer een toepassing uit in Kubernetes.
  • Test de toepassing.

Tip

Met AKS kunt u de volgende benaderingen voor configuratiebeheer gebruiken:

Voordat u begint

In eerdere zelfstudies hebt u een toepassing verpakt in een containerinstallatiekopieën, de installatiekopieën geüpload naar Azure Container Registry en een Kubernetes-cluster gemaakt. U hebt het vooraf gemaakte aks-store-quickstart.yaml Kubernetes-manifestbestand nodig om deze zelfstudie te voltooien. Dit bestand is gedownload in de broncode van de toepassing uit zelfstudie 1: De toepassing voorbereiden voor AKS.

Voor deze zelfstudie is Azure CLI versie 2.0.53 of hoger vereist. Controleer uw versie met az --version. Zie Azure CLI installeren als u CLI wilt installeren of upgraden.

Het manifestbestand bijwerken

In deze zelfstudies slaat uw Azure Container Registry-exemplaar (ACR) de containerinstallatiekopieën voor de voorbeeldtoepassing op. Als u de toepassing wilt implementeren, moet u de namen van de installatiekopieën in het Kubernetes-manifestbestand bijwerken om de naam van uw ACR-aanmeldingsserver op te nemen.

  1. Haal het adres van uw aanmeldingsserver op met behulp van de az acr list opdracht en voer een query uit voor uw aanmeldingsserver.

    az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
    
  2. Zorg ervoor dat u zich in de gekloonde map aks-store-demo bevindt en open vervolgens het aks-store-quickstart.yaml manifestbestand met een teksteditor.

  3. Werk de image eigenschap voor de containers bij door ghcr.io/azure-samples te vervangen door de naam van de ACR-aanmeldingsserver.

    containers:
    ...
    - name: order-service
      image: <acrName>.azurecr.io/aks-store-demo/order-service:latest
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:latest
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:latest
    ...
    
  4. Sla het bestand op en sluit het bestand.

De toepassing uitvoeren

  1. Implementeer de toepassing met behulp van de kubectl apply opdracht, waarmee het manifestbestand wordt geparseerd en de gedefinieerde Kubernetes-objecten worden gemaakt.

    kubectl apply -f aks-store-quickstart.yaml
    

    In de volgende voorbeelduitvoer ziet u dat de resources zijn gemaakt in het AKS-cluster:

    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
    
  2. Controleer of de implementatie is geslaagd door de pods te bekijken met de kubectl get pods opdracht.

    kubectl get pods
    

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.

Opdrachtregel

  1. Bewaak de voortgang met behulp van de kubectl get service opdracht met het --watch argument.

    kubectl get service store-front --watch
    

    In eerste instantie wordt het EXTERNAL-IP voor de store-front service weergegeven als <pending>:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Wanneer het EXTERNAL-IP adres wordt gewijzigd van <pending> een openbaar IP-adres, gebruikt CTRL-C u dit om het kubectl controleproces te stoppen.

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

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Bekijk de toepassing in actie door een webbrowser te openen en naar het externe IP-adres van uw service te navigeren: http://<external-ip>.

    Schermopname van de AKS Store-voorbeeldtoepassing.

Als de toepassing niet wordt geladen, is het mogelijk een autorisatieprobleem met uw installatiekopieënregister. Als u de status van uw containers wilt bekijken, gebruikt u de opdracht kubectl get pods. Als u de containerinstallatiekopieën niet kunt ophalen, raadpleegt u Verifiëren met Azure Container Registry vanuit Azure Kubernetes Service.

Azure Portal

Navigeer naar Azure Portal om uw implementatiegegevens te vinden.

  1. Navigeer naar uw AKS-clusterresource.

  2. Selecteer Services en ingresses in het servicemenu onder Kubernetes-resources.

  3. Kopieer het externe IP-adres dat wordt weergegeven in de kolom voor de store-front service.

  4. Plak het IP-adres in uw browser om uw winkelpagina te bezoeken.

    Schermopname van de AKS Store-voorbeeldtoepassing.

Resources opschonen

Omdat u de functionaliteit van de toepassing hebt gevalideerd, kunt u het cluster nu uit de toepassing verwijderen. In de volgende zelfstudie implementeren we de toepassing opnieuw.

  1. Stop en verwijder de containerinstanties en -resources met behulp van de kubectl delete opdracht.

    kubectl delete -f aks-store-quickstart.yaml
    
  2. Controleer of alle toepassingspods zijn verwijderd met behulp van de kubectl get pods opdracht.

    kubectl get pods
    

Volgende stappen

In deze zelfstudie hebt u een Azure-voorbeeldtoepassing geïmplementeerd in een Kubernetes-cluster in AKS. U hebt geleerd hoe u:

  • Werk een Kubernetes-manifestbestand bij.
  • Voer een toepassing uit in Kubernetes.
  • Test de toepassing.

In de volgende zelfstudie leert u hoe u PaaS-services gebruikt voor stateful workloads in Kubernetes.