Sdílet prostřednictvím


Kurz – Nasazení aplikace do služby Azure Kubernetes Service (AKS)

Kubernetes poskytuje distribuovanou platformu pro kontejnerizované aplikace. Sestavíte a nasadíte vlastní aplikace a služby do clusteru Kubernetes a necháte cluster spravovat dostupnost a připojení.

V tomto kurzu, který je druhou částí sedmidílné části, nasadíte ukázkovou aplikaci do clusteru Kubernetes. Získáte informace pro:

  • Aktualizujte soubor manifestu Kubernetes.
  • Spusťte aplikaci v Kubernetes.
  • Otestujte aplikaci.

Tip

S AKS můžete ke správě konfigurace použít následující přístupy:

Než začnete

V předchozích kurzech jste zabalili aplikaci do image kontejneru, nahráli ji do služby Azure Container Registry a vytvořili cluster Kubernetes. K dokončení tohoto kurzu potřebujete předem vytvořený aks-store-quickstart.yaml soubor manifestu Kubernetes. Tento soubor byl stažen ve zdrojovém kódu aplikace z kurzu 1 – Příprava aplikace pro AKS.

Tento kurz vyžaduje Azure CLI verze 2.0.53 nebo novější. Zkontrolujte verzi pomocí az --versionnástroje . Pokud chcete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.

Aktualizace souboru manifestu

V těchto kurzech ukládá instance služby Azure Container Registry (ACR) image kontejneru pro ukázkovou aplikaci. Pokud chcete nasadit aplikaci, musíte aktualizovat názvy imagí v souboru manifestu Kubernetes tak, aby obsahovaly název přihlašovacího serveru ACR.

  1. Získejte adresu přihlašovacího az acr list serveru pomocí příkazu a zadejte dotaz na přihlašovací server.

    az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
    
  2. Ujistěte se, že jste v naklonovaném adresáři aks-store-demo , a pak otevřete soubor manifestu aks-store-quickstart.yaml pomocí textového editoru.

  3. image Aktualizujte vlastnost kontejnerů nahrazením ghcr.io/azure-samples názvem přihlašovacího serveru ACR.

    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. Soubor uložte a zavřete.

Spuštění aplikace

  1. Nasaďte aplikaci pomocí kubectl apply příkazu, který analyzuje soubor manifestu a vytvoří definované objekty Kubernetes.

    kubectl apply -f aks-store-quickstart.yaml
    

    Následující příklad výstupu ukazuje úspěšné vytvoření prostředků v clusteru AKS:

    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. Kontrola úspěšného nasazení zobrazením podů pomocí kubectl

    kubectl get pods
    

Testování aplikace

Když se aplikace spustí, služba Kubernetes zveřejní front-end aplikace na internetu. Dokončení tohoto procesu může trvat několik minut.

Příkazový řádek

  1. Sledujte průběh pomocí kubectl get service příkazu s argumentem --watch .

    kubectl get service store-front --watch
    

    Zpočátku se EXTERNAL-IP store-front pro službu zobrazuje takto <pending>:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Když se EXTERNAL-IP adresa změní z <pending> veřejné IP adresy, použijte CTRL-C k zastavení kubectl procesu sledování.

    Následující příklad výstupu ukazuje platnou veřejnou IP adresu přiřazenou službě:

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Zobrazte aplikaci v akci tak, že otevřete webový prohlížeč a přejdete na externí IP adresu vaší služby: http://<external-ip>.

    Snímek obrazovky ukázkové aplikace AKS Store

Pokud se aplikace nenačte, může se jednat o problém s autorizací v registru imagí. Stav vašich kontejnerů můžete zobrazit pomocí příkazu kubectl get pods. Pokud nemůžete vyžádat image kontejneru, přečtěte si téma Ověřování pomocí služby Azure Container Registry ze služby Azure Kubernetes Service.

portál Azure

Přejděte na web Azure Portal a vyhledejte informace o nasazení.

  1. Přejděte k prostředku clusteru AKS.

  2. V nabídce služby v části Prostředky Kubernetes vyberte Služby a příchozí přenos dat.

  3. Zkopírujte externí IP adresu zobrazenou ve sloupci store-front pro službu.

  4. Vložte IP adresu do prohlížeče a navštivte stránku obchodu.

    Snímek obrazovky ukázkové aplikace AKS Store

Vyčištění prostředků

Vzhledem k tomu, že jste ověřili funkčnost aplikace, můžete cluster z aplikace odebrat. Aplikaci nasadíme znovu v dalším kurzu.

  1. Pomocí příkazu zastavte a odeberte instance kontejneru kubectl delete a prostředky.

    kubectl delete -f aks-store-quickstart.yaml
    
  2. Pomocí příkazu zkontrolujte, že byly odebrány kubectl get pods všechny pody aplikace.

    kubectl get pods
    

Další kroky

V tomto kurzu jste nasadili ukázkovou aplikaci Azure do clusteru Kubernetes v AKS. Naučili jste se:

  • Aktualizujte soubor manifestu Kubernetes.
  • Spusťte aplikaci v Kubernetes.
  • Otestujte aplikaci.

V dalším kurzu se naučíte používat služby PaaS pro stavové úlohy v Kubernetes.