Samouczek: uruchamianie aplikacji w usłudze Azure Kubernetes Service (AKS)

Usługa Kubernetes zapewnia rozproszoną platformę dla konteneryzowanych aplikacji. Utworzysz i wdrożysz własne aplikacje i usługi w klastrze Kubernetes i pozwolisz klastrowi zarządzać dostępnością i łącznością. W tym samouczku, część czwarta z siedmiu, wdrożysz przykładową aplikację w klastrze Kubernetes. Omawiane kwestie:

  • Zaktualizuj plik manifestu platformy Kubernetes.
  • Uruchom aplikację na platformie Kubernetes.
  • Testowanie aplikacji.

W kolejnych samouczkach przeprowadzisz skalowanie w poziomie i zaktualizujesz aplikację.

W tym przewodniku Szybki start założono, że masz podstawową wiedzę na temat pojęć związanych z platformą Kubernetes. Aby uzyskać więcej informacji, zobacz Podstawowe pojęcia dotyczące usługi Azure Kubernetes Service (AKS).

Porada

Klastry usługi AKS mogą używać usługi GitOps do zarządzania konfiguracją. Funkcja GitOp umożliwia automatyczne stosowanie deklaracji stanu klastra, które są wypychane do kontroli źródła. Aby dowiedzieć się, jak używać usługi GitOps do wdrażania aplikacji z klastrem usługi AKS, zapoznaj się z wymaganiami wstępnymi dotyczącymi klastrów Azure Kubernetes Service w samouczku usługi GitOps z usługą Flux v2.

Zanim rozpoczniesz

W poprzednich samouczkach spakujesz aplikację do obrazu kontenera, przekazano obraz do Azure Container Registry i utworzono klaster Kubernetes.

Do ukończenia tego samouczka potrzebujesz wstępnie utworzonego pliku manifestu usługi Kubernetes azure-vote-all-in-one-redis.yaml. Ten plik został dołączony do kodu źródłowego aplikacji w poprzednim samouczku. Sprawdź, czy repozytorium zostało sklonowane i czy katalogi zostały zmienione do sklonowanego repozytorium. Jeśli nie wykonano tych kroków i chcesz wykonać te czynności, zacznij od samouczka 1: Przygotowywanie aplikacji do usługi AKS.

Ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0.53 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Aktualizowanie pliku manifestu

W tych samouczkach w wystąpieniu usługi Azure Container Registry (ACR) przechowywany jest obraz kontenera na potrzeby przykładowej aplikacji. W celu wdrożenia aplikacji należy zaktualizować nazwę obrazu w pliku manifestu usługi Kubernetes w taki sposób, aby uwzględniała nazwę serwera logowania usługi ACR.

Pobierz nazwę serwera logowania usługi ACR przy użyciu polecenia az acr list .

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Przykładowy plik manifestu z repozytorium git sklonowanego w pierwszym samouczku używa obrazów z usługi Microsoft Container Registry (mcr.microsoft.com). Upewnij się, że znajdujesz się w sklonowanym katalogu azure-voting-app-redis , a następnie otwórz plik manifestu za pomocą edytora tekstów, takiego jak vi:

vi azure-vote-all-in-one-redis.yaml

Zastąp mcr.microsoft.com nazwą serwera logowania usługi ACR. Nazwę obrazu można znaleźć w wierszu 60 pliku manifestu. W poniższym przykładzie przedstawiono domyślną nazwę obrazu:

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

Podaj własną nazwę serwera logowania usługi ACR, aby plik manifestu wyglądał podobnie do następującego przykładu:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Zapisz i zamknij plik. W programie vi użyj polecenia :wq.

Wdrażanie aplikacji

Aby wdrożyć aplikację, użyj kubectl apply polecenia , określając przykładowy plik manifestu. To polecenie analizuje plik manifestu i tworzy zdefiniowane obiekty usługi Kubernetes.

kubectl apply -f azure-vote-all-in-one-redis.yaml

Następujące przykładowe dane wyjściowe przedstawiają pomyślnie utworzone zasoby w klastrze usługi AKS:

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

Testowanie aplikacji

Podczas uruchamiania aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut.

Aby monitorować postęp, użyj kubectl get service polecenia z argumentem --watch .

kubectl get service azure-vote-front --watch

Początkowo adres EXTERNAL-IP dla usługi azure-vote-front jest wyświetlany jako oczekujący.

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

Gdy dla adresu EXTERNAL-IP wartość oczekujący zmieni się na rzeczywisty publiczny adres IP, naciśnij klawisze CTRL-C, aby zatrzymać proces śledzenia narzędzia kubectl. Następujące przykładowe dane wyjściowe przedstawiają prawidłowy publiczny adres IP przypisany do usługi:

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

Aby wyświetlić aplikację w akcji, otwórz przeglądarkę internetową na zewnętrzny adres IP usługi.

Zrzut ekranu przedstawiający obraz kontenera Aplikacja do głosowania platformy Azure uruchomiona w klastrze usługi AKS otwarty w lokalnej przeglądarce internetowej

Jeśli aplikacja nie zostanie załadowana, może to być problem z autoryzacją w rejestrze 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 przy użyciu Azure Container Registry z Azure Kubernetes Service.

Następne kroki

W tym samouczku wdrożono przykładową aplikację do głosowania na platformie Azure w klastrze Kubernetes w usłudze AKS. W tym samouczku omówiono:

  • Zaktualizuj plik manifestu platformy Kubernetes.
  • Uruchom aplikację na platformie Kubernetes.
  • Testowanie aplikacji.

W następnym samouczku dowiesz się, jak skalować aplikację Kubernetes i podstawową infrastrukturę Kubernetes.