Руководство. Развертывание приложения в Служба Azure Kubernetes (AKS)

Kubernetes предоставляет распределенную платформу для контейнерных приложений. Вы создаете и развертываете собственные приложения и службы в кластере Kubernetes и позволяет кластеру управлять доступностью и подключением.

В этом руководстве, часть 4 из семи, вы развернете пример приложения в кластере Kubernetes. Узнайте следующие темы:

  • Обновите файл манифеста Kubernetes.
  • Запустите приложение в Kubernetes.
  • Тестирование приложения.

Совет

С помощью AKS можно использовать следующие подходы для управления конфигурацией:

Подготовка к работе

В предыдущих руководствах вы упаковали приложение в образ контейнера, отправьте образ в Реестр контейнеров Azure и создали кластер Kubernetes. Чтобы завершить работу с этим руководством, вам потребуется готовый файл манифеста aks-store-quickstart.yaml Kubernetes. Этот файл был скачан в исходном коде приложения из руководства 1. Подготовка приложения для AKS.

Для этого руководства требуется Azure CLI версии 2.0.53 или более поздней. Проверьте версию с az --versionпомощью . Чтобы выполнить установку или обновление, см. сведения в статье Установка Azure CLI.

Обновление файла манифеста

В этих руководствах экземпляр Реестр контейнеров Azure (ACR) хранит образы контейнеров для примера приложения. Чтобы развернуть приложение, необходимо обновить имена образов в файле манифеста Kubernetes, чтобы включить имя сервера входа ACR.

  1. Получите адрес сервера входа с помощью az acr list команды и запроса для сервера входа.

    az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
    
  2. Убедитесь, что вы находитесь в клонируемом каталоге aks-store-demo , а затем откройте файл манифеста с текстовым редактором, например vi.

    vi aks-store-quickstart.yaml
    
  3. image Обновите свойство для контейнеров, заменив ghcr.io/azure-samples именем сервера входа 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. Сохранить и закрыть файл. В vi используйте команду :wq.

Выполнение приложения

  1. Разверните приложение с помощью kubectl apply команды, которая анализирует файл манифеста и создает определенные объекты Kubernetes.

    kubectl apply -f aks-store-quickstart.yaml
    

    В следующем примере выходных данных показано, что ресурсы успешно созданы в кластере AKS:

    deployment.apps/rabbitmq 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. Проверка успешного развертывания путем просмотра модулей pod с помощью kubectl

    kubectl get pods
    

Тестирование приложения

При запуске приложения Служба Kubernetes предоставляет внешний интерфейс приложения в Интернете. Процесс создания может занять несколько минут.

Командная строка

  1. Отслеживайте ход выполнения с помощью команды с kubectl get service аргументом --watch .

    kubectl get service store-front --watch
    

    EXTERNAL-IPИзначально служба переднего плана магазина отображается как ожидающая:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. EXTERNAL-IP Если адрес изменяется от ожидающего до фактического общедоступного IP-адреса, используйте CTRL-C для остановки kubectl процесса наблюдения.

    В следующем примере выходных данных показан общедоступный IP-адрес, присвоенный службе.

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Просмотрите приложение в действии, открыв веб-браузер на внешний IP-адрес службы.

    Снимок экрана: пример приложения AKS Store.

Если приложение не загружается, это может быть проблема авторизации с реестром образов. Чтобы просмотреть состояние контейнеров, используйте команду kubectl get pods. Если вы не можете извлечь образы контейнеров, ознакомьтесь с Реестр контейнеров Azure проверки подлинности из Служба Azure Kubernetes.

Портал Azure

Перейдите к портал Azure, чтобы найти сведения о развертывании.

  1. Откройте группу ресурсов в портал Azure

  2. Перейдите к службе Kubernetes для кластера

  3. Выберите Services and Ingress в разделе Kubernetes Resources

  4. Скопируйте внешний IP-адрес, показанный в столбце для переднего плана хранения

  5. Вставьте IP-адрес в браузер и посетите страницу магазина

    Снимок экрана: пример приложения AKS Store.

Следующие шаги

В этом руководстве вы развернули пример приложения Azure в кластере Kubernetes в AKS. Вы научились выполнять следующие задачи:

  • Обновите файл манифеста Kubernetes.
  • Запустите приложение в Kubernetes.
  • Тестирование приложения.

В следующем руководстве вы узнаете, как использовать службы PaaS для рабочих нагрузок с отслеживанием состояния в Kubernetes.