Развертывание приложения без отслеживания состояния PHP Guestbook
с помощью Redis в кластере Kubernetes с поддержкой Azure Arc на GPU Azure Stack Edge Pro
ОБЛАСТЬ ПРИМЕНЕНИЯ: Azure Stack Edge Pro — GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure Stack Edge Mini R
В этой статье показано, как создать и развернуть простое многоуровневое веб-приложение с помощью Kubernetes и Azure Arc. В этом примере используются следующие компоненты:
- один экземпляр базы данных master Redis для хранения записей
guestbook
; - несколько реплицируемых экземпляров Redis для обслуживания операций чтения;
- несколько экземпляров веб-интерфейсов.
Развертывание выполняется с помощью GitOps в кластере Kubernetes с поддержкой Azure Arc на устройстве Azure Stack Edge Pro.
Эта процедура предназначена для пользователей, которые изучили рабочие нагрузки Kubernetes на устройстве Azure Stack Edge Pro и знакомы с понятиями Kubernetes с поддержкой Azure Arc (предварительная версия).
Примечание.
Эта статья содержит упоминания термина slave (ведомый) . Корпорация Майкрософт больше не использует его. Когда этот термин будет удален из программного обеспечения, мы удалим его из статьи.
Необходимые компоненты
Перед развертыванием приложения без отслеживания состояния убедитесь, что приведенные ниже предварительные требования выполнены на устройстве и клиенте, которые будут использоваться для доступа к устройству.
Для устройств
У вас есть учетные данные для входа на устройство Azure Stack Edge Pro с 1 узлом.
- Устройство активировано. См. Активация устройства.
- Для устройства настроена роль вычислений на портале Azure, а также установлен кластер Kubernetes. См. Настройка вычислений.
Служба Azure Arc включена в существующем кластере Kubernetes на устройстве, и у вас есть соответствующий ресурс Azure Arc на портале Azure. Подробные инструкции см. в разделе Включение Azure Arc на устройстве Azure Stack Edge Pro.
Для клиента, получающего доступ к устройству
У вас есть система клиента Windows, которая будет использоваться для доступа к устройству Azure Stack Edge Pro.
На клиенте работает Windows PowerShell 5.0 или более поздней версии. Чтобы узнать, как скачать последнюю версию Windows PowerShell, перейдите к статье Установка Windows PowerShell.
Также можно использовать любой другой клиент с поддерживаемой операционной системой. В этой статье описывается процедура с использованием клиента Windows.
Вы выполнили процедуру, описанную в статье Доступ к кластеру Kubernetes на устройстве Azure Stack Edge Pro. Вы выполнили следующие задачи:
Установили
kubectl
на клиенте.Убедитесь, что версия клиента
kubectl
отличается не более чем на единицу от главной версии Kubernetes, работающей на устройстве Azure Stack Edge Pro.- Используйте
kubectl version
для проверки версии kubectl, работающей на клиенте. Запишите полный номер версии. - В локальном пользовательском веб-интерфейсе устройства Azure Stack Edge Pro перейдите к панели Обзор и запишите номер ПО Kubernetes.
- Проверьте эти две версии на совместимость с помощью сопоставления, предоставленного в поддерживаемой версии Kubernetes.
- Используйте
У вас есть конфигурация GitOps, которую можно использовать для запуска развертывания Azure Arc. В этом примере вы будете использовать следующие файлы
yaml
для развертывания на устройстве Azure Stack Edge Pro.frontend-deployment.yaml
frontend-service.yaml
redis-master-deployment.yaml
redis-master-service.yaml
redis-slave-deployment.yaml
redis-slave-service.yaml
Развертывание конфигурации
Выполните следующие действия, чтобы настроить ресурс Azure Arc для развертывания конфигурации GitOps с помощью портала Azure.
На портале Azure перейдите к ресурсу Arc Azure, созданному при включении Azure Arc в кластере Kubernetes на устройстве.
Перейдите в раздел конфигураций и нажмите + Add configuration (Добавить конфигурацию).
Укажите расширение Flux версии 1.
В разделе "Добавление конфигурации GitOps" введите соответствующие значения для полей и нажмите кнопку "Добавить".
Параметр Описание Имя конфигурации Имя для ресурса конфигурации. Имя экземпляра оператора Имя экземпляра оператора для задания конкретной конфигурации. Имя — это строка длиной не более 253 символов, в которой могут использоваться только строчные буквы, цифры, дефисы и точки. Пространство имен оператора Задайте значение demotestguestbook для соответствия пространству имен, указанному в развертывании yaml
.
Это поле определяет пространство имен, в котором установлен оператор. Имя — это строка длиной не более 253 символов, в которой могут использоваться только строчные буквы, цифры, дефисы и точки.URL-адрес репозитория
Путь к репозиторию Git, где находится конфигурация GitOps, в форматеhttp://github.com/username/repo
илиgit://github.com/username/repo
.Область оператора Выберите Namespace.
Этот параметр определяет область, в которой установлен оператор. Выберите Namespace, чтобы установить оператор в пространстве имен, указанном в файлах YAML развертывания.Тип оператора Оставьте значение по умолчанию.
Этот параметр задает тип оператора. По умолчанию установлено flux.Параметры оператора Оставьте это поле пустым.
Этот параметр содержит параметры, передаваемые оператору flux.Helm Оставьте этот флажок снят.
Включите этот параметр, если планируется развертывание на основе диаграмм.Запускается развертывание конфигурации, и отображается состояние оператора Pending (Ожидание).
Развертывание занимает несколько минут. По завершении развертывания состояние оператора отображается как Installed (Установлено).
Проверка развертывания
При развертывании с помощью конфигурации GitOps создается пространство имен demotestguestbook
, как указано в файлах развертывания yaml
, расположенных в репозитории Git.
После применения конфигурации GitOps подключитесь к интерфейсу PowerShell устройства.
Выполните следующую команду, чтобы вывести список модулей pod, которые выполняются в пространстве имен
demotestguestbook
, соответствующем развертыванию.kubectl get pods -n <your-namespace>
Вот пример вывода.
[10.128.44.240]: PS>kubectl get pods -n demotestguestbook NAME READY STATUS RESTARTS AGE aseoperator1-5569658644-cqtb5 1/1 Running 0 91m frontend-6cb7f8bd65-4xb4f 1/1 Running 0 91m frontend-6cb7f8bd65-q9cxj 1/1 Running 0 91m frontend-6cb7f8bd65-xpzs6 1/1 Running 0 91m memcached-86bdf9f56b-5l2fq 1/1 Running 0 91m redis-master-7db7f6579f-2z29w 1/1 Running 0 91m redis-slave-7664787fbc-lgr2n 1/1 Running 0 91m redis-slave-7664787fbc-vlvzn 1/1 Running 0 91m [10.128.44.240]: PS>
В этом примере интерфейсная служба была развернута как type:LoadBalancer. Для просмотра
guestbook
вам нужно будет найти IP-адрес этой службы. Выполните следующую команду.kubectl get service -n <your-namespace>
[10.128.44.240]: PS>kubectl get service -n demotestguestbook NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend LoadBalancer 10.96.79.38 10.128.44.245 80:31238/TCP 85m memcached ClusterIP 10.102.47.75 <none> 11211/TCP 85m redis-master ClusterIP 10.104.32.99 <none> 6379/TCP 85m redis-slave ClusterIP 10.104.215.146 <none> 6379/TCP 85m [10.128.44.240]: PS>
Интерфейсная служба
type:LoadBalancer
имеет внешний IP-адрес. Этот IP-адрес относится к диапазону IP-адресов, указанному для внешних служб при настройке сетевых параметров вычислений на устройстве. Используйте этот IP-адрес для просмотраguestbook
по URL-адресу:https://<external-IP-address>
.
Удалить развертывание
Чтобы удалить развертывание, можно удалить эту конфигурацию на портале Azure. Удаление конфигурации приведет к удалению созданных объектов, включая развертывания и службы.
- В портал Azure перейдите к конфигурациям ресурсов > Azure Arc.
- Выберите конфигурацию, которую необходимо удалить. Нажмите кнопку с многоточием (...), чтобы открыть контекстное меню, и выберите Удалить.
Удаление конфигурации может занять несколько минут.
Следующие шаги
Узнайте, как использовать панель мониторинга Kubernetes для мониторинга развертываний на устройстве Azure Stack Edge Pro.