Udostępnij za pośrednictwem


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ą:

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.

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.

  1. 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
    
  2. 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.

  3. 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
    ...
    
  4. Zapisz i zamknij plik.

Uruchamianie aplikacji

  1. 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
    
  2. 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

  1. Monitoruj postęp za pomocą kubectl get service polecenia z argumentem --watch .

    kubectl get service store-front --watch
    

    EXTERNAL-IP Początkowo dla store-front usługi jest wyświetlana wartość <pending>:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. EXTERNAL-IP Gdy adres zmieni się z <pending> na publiczny adres IP, użyj polecenia CTRL-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
    
  3. Wyświetl aplikację w akcji, otwierając przeglądarkę internetową i przechodząc do zewnętrznego adresu IP usługi: http://<external-ip>.

    Zrzut ekranu przedstawiający przykładową aplikację sklepu AKS Store.

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.

  1. Przejdź do zasobu klastra usługi AKS.

  2. Z menu usługi w obszarze Zasoby kubernetes wybierz pozycję Usługi i ruch przychodzący.

  3. Skopiuj zewnętrzny adres IP widoczny w kolumnie dla store-front usługi.

  4. Wklej adres IP w przeglądarce, aby odwiedzić stronę sklepu.

    Zrzut ekranu przedstawiający przykładową aplikację sklepu AKS Store.

Czyszczenie zasobów

Ponieważ sprawdzono funkcjonalność aplikacji, możesz teraz usunąć klaster z aplikacji. Ponownie wdrożymy aplikację w następnym samouczku.

  1. Zatrzymaj i usuń wystąpienia kontenera i zasoby przy użyciu kubectl delete polecenia .

    kubectl delete -f aks-store-quickstart.yaml
    
  2. 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.