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, del fyra av sju, 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.

Dricks

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 självstudien 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 självstudierna lagrar din Azure Container Registry-instans (ACR) containeravbildningarna för exempelprogrammet. Om du vill distribuera programmet måste du uppdatera avbildningsnamnen i Kubernetes-manifestfilen så att det innehåller namnet på ACR-inloggningsservern.

  1. Hämta din inloggningsserveradress med hjälp av az acr list kommandot och frågan för inloggningsservern.

    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 appen

  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

    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.

Kommandorad

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

    kubectl get service store-front --watch
    

    EXTERNAL-IP Till en början visas för store-front tjänsten 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 programmet inte läses in kan det vara ett auktoriseringsproblem med avbildningsregistret. 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-portalen för att hitta distributionsinformationen.

  1. Gå till aks-klusterresursen.

  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 distribuerar programmet igen i nästa självstudie.

  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 självstudie får du lära dig hur du använder PaaS-tjänster för tillståndskänsliga arbetsbelastningar i Kubernetes.