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:
GitOps: Povolí automatické použití deklarací stavu clusteru na cluster. Informace o použití GitOps k nasazení aplikace s clusterem AKS najdete v požadavcích pro clustery Azure Kubernetes Service v GitOps s fluxem v2 .
DevOps: Umožňuje sestavovat, testovat a nasazovat s využitím kontinuální integrace (CI) a průběžného doručování (CD). Příklady použití DevOps k nasazení aplikace s clusterem AKS najdete v tématu Sestavení a nasazení do AKS pomocí Azure Pipelines nebo GitHub Actions pro nasazení do Kubernetes.
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 --version
ná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.
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
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.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 ...
Soubor uložte a zavřete.
Spuštění aplikace
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
Zkontrolujte úspěšné nasazení zobrazením podů pomocí
kubectl get pods
příkazu.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
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
Když se
EXTERNAL-IP
adresa změní z<pending>
veřejné IP adresy, použijteCTRL-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
Zobrazte aplikaci v akci tak, že otevřete webový prohlížeč a přejdete na externí IP adresu vaší služby:
http://<external-ip>
.
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í.
Přejděte k prostředku clusteru AKS.
V nabídce služby v části Prostředky Kubernetes vyberte Služby a příchozí přenos dat.
Zkopírujte externí IP adresu zobrazenou ve sloupci
store-front
pro službu.Vložte IP adresu do prohlížeče a navštivte stránku obchodu.
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.
Pomocí příkazu zastavte a odeberte instance kontejneru
kubectl delete
a prostředky.kubectl delete -f aks-store-quickstart.yaml
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.
Azure Kubernetes Service