Dela via


Självstudie – Distribuera ett program till Azure Kubernetes Service (AKS)

Kubernetes tillhandahåller en distribuerad plattform för containerbaserade program. Du skapar och distribuerar dina egna program och tjänster till ett Kubernetes-kluster och låter klustret hantera tillgängligheten och anslutningen.

I den här självstudien distribuerar du ett exempelprogram till ett Kubernetes-kluster. Du lär dig att:

  • Uppdatera en Kubernetes-manifestfil.
  • Kör ett program i Kubernetes.
  • Testa programmet.

Tips

Med AKS kan du använda följande metoder för konfigurationshantering:

Innan du börjar

I tidigare självstudier paketerade du ett program i en containeravbildning, laddade upp avbildningen till Azure Container Registry och skapade ett Kubernetes-kluster. För att slutföra den här självstudien behöver du den förskapade aks-store-quickstart.yaml Kubernetes-manifestfilen. Den här filen laddades ned i programmets källkod från Självstudie 1 – Förbereda programmet för AKS.

Den här handledningen kräver Azure CLI version 2.0.53 eller senare. Kontrollera din version med az --version. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.

Uppdatera manifestfilen

I de här handledningarna lagrar din Azure Container Registry-instans (ACR) containerbilderna för exempelprogrammet. Om du vill distribuera applikationen måste du uppdatera namnen på bilderna i Kubernetes-manifestfilen så att de inkluderar ditt ACR-inloggningsservernamn.

  1. Hämta din inloggningsserveradress med hjälp av az acr list kommandot och gör en fråga för att hitta din inloggningsserver.

    az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
    
  2. Kontrollera att du är i den klonade katalogen aks-store-demo och öppna aks-store-quickstart.yaml sedan manifestfilen med en textredigerare.

  3. image Uppdatera egenskapen för containrarna genom att ersätta ghcr.io/azure-samples med namnet på ACR-inloggningsservern.

    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. Spara och stäng filen.

Kör applikationen

  1. Distribuera programmet med kommandot kubectl apply som parsar manifestfilen och skapar de definierade Kubernetes-objekten.

    kubectl apply -f aks-store-quickstart.yaml
    

    Följande exempelutdata visar de resurser som skapats på AKS-klustret:

    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. Kontrollera att distributionen lyckas genom att visa poddarna med kubectl get pods kommandot .

    kubectl get pods
    

Testa programmet

När programmet körs så exponerar en Kubernetes-tjänst programmets klientdel mot Internet. Den här processen kan ta ett par minuter att slutföra.

Kommandoradgränssnitt

  1. Övervaka förloppet med kommandot kubectl get service med --watch argumentet .

    kubectl get service store-front --watch
    

    Till en början visas EXTERNAL-IP för tjänsten store-front som <pending>:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. EXTERNAL-IP När adressen ändras från <pending> till en offentlig IP-adress använder du CTRL-C för att stoppa kubectl klockprocessen.

    Följande exempelutdata visar en giltig offentlig IP-adress som har tilldelats tjänsten:

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Visa programmet i praktiken genom att öppna en webbläsare och navigera till tjänstens externa IP-adress: http://<external-ip>.

    Skärmbild av AKS Store-exempelprogrammet.

Om applikationen inte laddas, kan det vara ett problem med behörighet för ditt bildregister. Du kan visa statusen för dina containrar med hjälp av kommandot kubectl get pods. Om du inte kan hämta containeravbildningarna kan du läsa Autentisera med Azure Container Registry från Azure Kubernetes Service.

Azure Portal

Gå till Azure Portal för att hitta distributionsinformationen.

  1. Gå till din AKS-klustertjänst.

  2. På tjänstmenyn går du till Kubernetes-resurser och väljer Tjänster och ingresser.

  3. Kopiera den externa IP-adress som visas i kolumnen för store-front tjänsten.

  4. Klistra in IP-adressen i webbläsaren för att besöka butikssidan.

    Skärmbild av AKS Store-exempelprogrammet.

Rensa resurser

Eftersom du har verifierat programmets funktioner kan du nu ta bort klustret från programmet. Vi kommer driftsätta programmet igen i nästa handledning.

  1. Stoppa och ta bort containerinstanserna och resurserna med kommandot kubectl delete .

    kubectl delete -f aks-store-quickstart.yaml
    
  2. Kontrollera att alla programpoddar har tagits bort med kommandot kubectl get pods .

    kubectl get pods
    

Nästa steg

I den här självstudien distribuerade du ett Azure-exempelprogram till ett Kubernetes-kluster i AKS. Du har lärt dig att:

  • Uppdatera en Kubernetes-manifestfil.
  • Kör ett program i Kubernetes.
  • Testa programmet.

I nästa handledning får du lära dig hur du använder PaaS-tjänster för arbetsbelastningar med tillstånd i Kubernetes.