Руководство. Развертывание приложений в 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 по Create образов контейнеров.
Для работы с этим руководством требуется 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-адрес, используйте клавиши CTRL+C, чтобы остановить kubectl
процесс watch. В следующем примере выходных данных показан общедоступный IP-адрес, присвоенный службе.
azure-vote-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Чтобы увидеть приложение в действии, откройте в веб-браузере внешний IP-адрес вашей службы.
Если не удалось загрузить приложение, возможно, возникла проблема с авторизацией реестра образов. Чтобы просмотреть состояние контейнеров, используйте команду kubectl get pods
. Если не удается извлечь образы контейнеров, см. статью Аутентификация с помощью Реестра контейнеров Azure из Службы Azure Kubernetes.
Дальнейшие действия
В этом руководстве вы развернули пример приложения Azure для голосования в кластере Kubernetes в AKS, включенном Arc. Вы узнали, как:
- Обновление файла манифеста Kubernetes
- Выполнение приложения в Kubernetes.
- Тестирование приложения
Перейдите к следующему руководству, чтобы узнать о способах масштабировании приложения Kubernetes и базовой инфраструктуре Kubernetes.