Samouczek — wdrażanie aplikacji w usłudze Azure Kubernetes Service (AKS)
Usługa Kubernetes zapewnia rozproszoną platformę dla konteneryzowanych aplikacji. Tworzenie i wdrażanie własnych aplikacji i usług w klastrze Kubernetes pozwala klastrowi zarządzać dostępnością i łącznością.
W tym samouczku, część czwarta z siedmiu, wdrożysz przykładową aplikację w klastrze Kubernetes. Dowiedz się, jak odbywa się:
- Zaktualizuj plik manifestu platformy Kubernetes.
- Uruchamianie aplikacji na platformie Kubernetes.
- Przetestuj aplikację.
Napiwek
Za pomocą usługi AKS można użyć następujących metod zarządzania konfiguracją:
GitOps: umożliwia automatyczne stosowanie deklaracji stanu klastra do klastra. Aby dowiedzieć się, jak używać metodyki GitOps do wdrażania aplikacji z klastrem usługi AKS, zobacz wymagania wstępne dotyczące klastrów usługi Azure Kubernetes Service w samouczku GitOps z rozwiązaniem Flux w wersji 2 .
Metodyka DevOps: umożliwia tworzenie, testowanie i wdrażanie za pomocą ciągłej integracji i ciągłego dostarczania (CD). Aby zapoznać się z przykładami użycia metodyki DevOps do wdrażania aplikacji z klastrem usługi AKS, zobacz Kompilowanie i wdrażanie w usłudze AKS za pomocą usługi Azure Pipelines lub GitHub Actions na potrzeby wdrażania na platformie Kubernetes.
Zanim rozpoczniesz
W poprzednich samouczkach spakujesz aplikację do obrazu kontenera, przekazano obraz do usługi Azure Container Registry i utworzono klaster Kubernetes. Do ukończenia tego samouczka potrzebny jest wstępnie utworzony aks-store-quickstart.yaml
plik manifestu kubernetes. Ten plik został pobrany w kodzie źródłowym aplikacji z samouczka 1 — przygotowywanie aplikacji dla usługi AKS.
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Interfejs wiersza polecenia dla deweloperów platformy Azure
Ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0.53 lub nowszej. Sprawdź wersję za pomocą polecenia az --version
. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Aktualizowanie pliku manifestu
W tych samouczkach wystąpienie usługi Azure Container Registry (ACR) przechowuje obrazy kontenerów dla przykładowej aplikacji. Aby wdrożyć aplikację, należy zaktualizować nazwy obrazów w pliku manifestu kubernetes, aby uwzględnić nazwę serwera logowania usługi ACR.
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Interfejs wiersza polecenia dla deweloperów platformy Azure
Pobierz adres serwera logowania przy użyciu
az acr list
polecenia i wykonaj zapytanie dotyczące serwera logowania.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Upewnij się, że jesteś w sklonowanym katalogu aks-store-demo , a następnie otwórz plik manifestu
aks-store-quickstart.yaml
za pomocą edytora tekstów.image
Zaktualizuj właściwość kontenerów, zastępując ghcr.io/azure-samples nazwą serwera logowania usługi 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 ...
Zapisz i zamknij plik.
Uruchamianie aplikacji
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Interfejs wiersza polecenia dla deweloperów platformy Azure
Wdróż aplikację przy użyciu
kubectl apply
polecenia , które analizuje plik manifestu i tworzy zdefiniowane obiekty Kubernetes.kubectl apply -f aks-store-quickstart.yaml
Następujące przykładowe dane wyjściowe przedstawiają pomyślnie utworzone zasoby w klastrze usługi 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
Sprawdź, czy wdrożenie zakończyło się pomyślnie, wyświetlając zasobniki za
kubectl get pods
pomocą polecenia .kubectl get pods
Testowanie aplikacji
Podczas uruchamiania aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut.
Wiersz polecenia
Monitoruj postęp za pomocą
kubectl get service
polecenia z argumentem--watch
.kubectl get service store-front --watch
EXTERNAL-IP
Początkowo dlastore-front
usługi jest wyświetlana wartość<pending>
:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
EXTERNAL-IP
Gdy adres zmieni się z<pending>
na publiczny adres IP, użyj poleceniaCTRL-C
, aby zatrzymaćkubectl
proces oglądania.Następujące przykładowe dane wyjściowe przedstawiają prawidłowy publiczny adres IP przypisany do usługi:
store-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Wyświetl aplikację w akcji, otwierając przeglądarkę internetową i przechodząc do zewnętrznego adresu IP usługi:
http://<external-ip>
.
Jeśli aplikacja nie jest ładowana, może to być problem z autoryzacją rejestru obrazów. Aby wyświetlić stan kontenerów, użyj polecenia kubectl get pods
. Jeśli nie możesz ściągnąć obrazów kontenerów, zobacz Uwierzytelnianie za pomocą usługi Azure Container Registry z usługi Azure Kubernetes Service.
Azure Portal
Przejdź do witryny Azure Portal, aby znaleźć informacje o wdrożeniu.
Przejdź do zasobu klastra usługi AKS.
Z menu usługi w obszarze Zasoby kubernetes wybierz pozycję Usługi i ruch przychodzący.
Skopiuj zewnętrzny adres IP widoczny w kolumnie dla
store-front
usługi.Wklej adres IP w przeglądarce, aby odwiedzić stronę sklepu.
Czyszczenie zasobów
Ponieważ sprawdzono funkcjonalność aplikacji, możesz teraz usunąć klaster z aplikacji. Ponownie wdrożymy aplikację w następnym samouczku.
Zatrzymaj i usuń wystąpienia kontenera i zasoby przy użyciu
kubectl delete
polecenia .kubectl delete -f aks-store-quickstart.yaml
Sprawdź, czy wszystkie zasobniki aplikacji zostały usunięte przy użyciu
kubectl get pods
polecenia .kubectl get pods
Następne kroki
W tym samouczku wdrożono przykładową aplikację platformy Azure w klastrze Kubernetes w usłudze AKS. W tym samouczku omówiono:
- Zaktualizuj plik manifestu platformy Kubernetes.
- Uruchamianie aplikacji na platformie Kubernetes.
- Przetestuj aplikację.
W następnym samouczku dowiesz się, jak używać usług PaaS na potrzeby obciążeń stanowych na platformie Kubernetes.
Azure Kubernetes Service