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 sedan manifestfilen med en textredigerare, till exempel vi.

    vi aks-store-quickstart.yaml
    
  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. I vi använder du :wq.

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:

    deployment.apps/rabbitmq 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 tjänsten för butiksfronten som väntande:

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

    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 till tjänstens externa IP-adress.

    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. Öppna resursgruppen på Azure-portalen

  2. Navigera till Kubernetes-tjänsten för klustret

  3. Välj Services and Ingress under Kubernetes Resources

  4. Kopiera den externa IP-adress som visas i kolumnen för butiksfronten

  5. Klistra in IP-adressen i webbläsaren och besök din butikssida

    Skärmbild av AKS Store-exempelprogrammet.

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.