Руководство. Развертывание приложений в AKS с поддержкой Azure Arc

Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server

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

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

  • Обновление файла манифеста Kubernetes
  • Развертывание приложения в Kubernetes
  • Тестирование приложения

В последующих руководствах описано, как масштабировать и обновлять это приложение.

В этом руководстве предполагается, что у вас есть некоторое представление о функциях Kubernetes.

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

В предыдущих руководствах описывается, как упаковать приложение в образ контейнера, а затем отправить образ в Реестр контейнеров Azure и создать кластер Kubernetes.

Для работы с этим руководством вам потребуется предварительно созданный файл манифеста Kubernetes azure-vote-all-in-one-redis.yaml . Этот файл был скачан вместе с исходным кодом приложения в предыдущем руководстве. Убедитесь, что вы клонировали репозиторий и изменили каталоги в клонированных репозиториях. Если вы еще не выполнили эти действия, начните с учебника 1. Создание образов контейнеров.

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

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

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

Получите имя сервера входа Реестр контейнеров Azure с помощью команды az acr list следующим образом:

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

В примере файла манифеста из репозитория GitHub, клонированного в первом руководстве, используется имя сервера входа майкрософт. Убедитесь, что вы находитесь в клонированный каталог azure-voting-app-redis , а затем откройте файл манифеста в текстовом редакторе, например в Блокноте:

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

Замените microsoft именем сервера входа Реестр контейнеров Azure. Имя образа можно найти в строке 60 файла манифеста. В следующем примере показано имя образа по умолчанию:

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

Укажите собственное Реестр контейнеров Azure имя сервера входа, чтобы файл манифеста выглядел так, как показано в следующем примере:

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

Сохраните файл и закройте его.

Развертывание приложения

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

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

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

$ 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

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

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

Чтобы отслеживать ход выполнения, используйте команду kubectl get service с аргументом --watch :

kubectl get service azure-vote-front --watch

Изначально для параметра EXTERNAL-IP (Внешний IP-адрес) службы azure-vote-front отображается состояние pending (ожидание).

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

Если внешний IP-адрес изменится с ожидающего на фактический общедоступный IP-адрес, нажмите клавишиkubectl CTRL+C, чтобы остановить процесс watch. В следующем примере выходных данных показан общедоступный IP-адрес, присвоенный службе.

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

Чтобы увидеть приложение в действии, откройте в веб-браузере внешний IP-адрес вашей службы.

Снимок экрана: образ контейнера приложения Azure для голосования, выполняемого в кластере AKS и открытого в веб-браузере.

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

Дальнейшие действия

В этом руководстве вы развернули пример приложения azure для голосования в кластере Kubernetes в AKS, включенном Arc. Вы узнали, как:

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

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