Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ AKS Automatic
Используйте автоматизированные развертывания для создания и развертывания приложения из репозитория кода в новом или существующем кластере AKS Automatic. Автоматическое развертывание упрощает процесс настройки рабочего процесса GitHub Action для создания и развертывания кода. После подключения каждый новый коммит запустит конвейер. Автоматизированные развертывания создаются на основе draft.sh. При создании рабочего процесса развертывания можно использовать существующий Dockerfile, сгенерировать Dockerfile, использовать существующие манифесты Kubernetes или генерировать манифесты Kubernetes. Созданные манифесты создаются с учетом рекомендаций по обеспечению безопасности и устойчивости. AKS Automatic также включает SLA на готовность pod, которое гарантирует, что 99,9% операций по готовности pod, соответствующих требованиям, завершаются в течение 5 минут, обеспечивая надежную и самовосстанавливающуюся инфраструктуру для ваших приложений.
Из этого краткого руководства вы узнаете:
- Подключитесь к репозиторию кода.
- Контейнеризация приложения.
- Настройте манифесты Kubernetes.
- Создайте автоматический кластер AKS.
- Разверните приложение через pull request.
Перед тем как начать
- У вас есть учетная запись GitHub с приложением для развертывания.
- AKS Automatic включит Политика Azure в вашем кластере AKS, но следует предварительно зарегистрировать поставщика ресурсов
Microsoft.PolicyInsightsв подписке для более плавного взаимодействия. Дополнительные сведения см. в разделе поставщиков и типов ресурсов Azure.
Это важно
Начиная с AKS 1.36, в новых кластерах AKS Automatic по умолчанию будет включен Kubernetes Gateway API через надстройку маршрутизации приложений вместо управляемого NGINX Ingress с надстройкой маршрутизации приложений из-за прекращения поддержки вышестоящего проекта Ingress NGINX.
Существующие автоматические кластеры не затрагиваются, но должны начать миграцию в API шлюза Kubernetes с помощью надстройки маршрутизации приложений.
Ограничения
Следующие ограничения применяются к автоматическим кластерам AKS:
- AKS Automatic общедоступен в следующих регионах:
australiaeast,austriaeast,belgiumcentral,brazilsouth,canadacentral,centralindia,centralus,chilecentral,denmarkeast,eastasia,eastus,eastus2,francecentral,germanywestcentral,indonesiacentral,israelcentral,italynorth,japaneast,japanwest,koreacentral,malaysiawest,mexicocentral,newzealandnorth,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus2,westus3.- Новые автоматические кластеры AKS по умолчанию позволяют включить пулы узлов управляемой системы и LocalDNS. Нельзя создавать автоматические кластеры AKS без пулов узлов управляемой системы в любом регионе.
- Автоматический кластер AKS имеет предварительно настроенную блокировку группы ресурсов узлов, которая не позволяет вносить изменения в группу ресурсов
MC_, что препятствует созданию ссылок виртуальной сети в зоне Частная зона DNS по умолчанию. Для сценариев использования между виртуальными сетями или пользовательскими DNS воспользуйтесь настраиваемой сетью и частной DNS, следуя инструкции по созданию частного кластера Azure Kubernetes Service (AKS) в пользовательской виртуальной сети. - требуется Azure CLI версии 2.86.0 или более поздней. Чтобы найти версию, выполните
az --versionкоманду. Если необходимо установить или обновить, см. раздел Install Azure CLI. - Следующие расширения не поддерживаются:
- Узлы Windows не поддерживаются.
- Миграция между базовым номером SKU AKS и автоматическим номером SKU не поддерживается.
- Миграции между автоматическими кластерами AKS без пулов управляемых системных узлов и автоматических кластеров AKS с пулами управляемых системных узлов не поддерживаются.
Принесите исходный код вашего приложения
Чтобы развернуть приложение из репозитория кода, начните с домашней страницы портала Azure.
- Найдите службы Kubernetes в верхней строке поиска.
- Выберите службы Kubernetes в результатах поиска.
- Нажмите кнопку "Создать " и выберите " Развернуть приложение".
Подключение к репозиторию исходного кода
Создайте и автоматический рабочий процесс развертывания и авторизуйте его для подключения к требуемому репозиторию исходного кода.
- На вкладке "Основные сведения" выберите "Развернуть приложение".
- В разделе Сведения о проекте выберите подписку, группу ресурсов и регион.
- В разделе Repository details введите имя рабочего процесса, а затем выберите Authorize access для подключения к нужному репозиторию GitHub.
- Выберите репозиторий и ветвь.
- Нажмите кнопку Далее.
Выбор конфигурации образа контейнера
Чтобы подготовить приложение для Kubernetes, необходимо создать его в образ контейнера и сохранить его в реестре контейнеров. Вы используете Dockerfile для предоставления инструкций по созданию образа контейнера. Если в вашем репозитории исходного кода еще нет Dockerfile, автоматические развертывания могут создать его для вас, в противном случае вы можете использовать существующий Dockerfile.
Используйте автоматизированные развертывания для создания Файла Dockerfile для многих языков и платформ, таких как Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift и Rust. Поддержка языка основана на том, что доступно в draft.sh.
- Выберите автоконтейнеризацию (создайте Dockerfile) для конфигурации контейнера.
- Выберите расположение места сохранения созданного Файла Dockerfile в репозитории.
- Выберите среду приложения из списка поддерживаемых языков и платформ.
- Введите порт приложения.
- Выберите существующую Реестр контейнеров Azure или создайте новую. Этот реестр используется для хранения созданного образа приложения.
Удостоверение kubelet для автоматического кластера AKS предоставляет
AcrPullразрешения для этого реестра.
Выбор конфигурации манифеста Kubernetes
Приложение, работающее в Kubernetes, состоит из множества примитивных компонентов Kubernetes. Эти компоненты описывают используемый образ контейнера, сколько реплик для выполнения, если для предоставления приложения требуется общедоступный IP-адрес и т. д. Дополнительные сведения см. в официальной документации Kubernetes. Если в репозитории исходного кода нет базовых манифестов Kubernetes для развертывания, автоматические развертывания могут создавать их для вас, в противном случае можно использовать набор существующих манифестов. Вы также можете выбрать существующую диаграмму Helm.
Используйте автоматизированные развертывания для создания набора базовых файлов манифеста Kubernetes для запуска вашего приложения. На данный момент «Автоматизированные развертывания» создают Deployment, Service, и ConfigMap.
Созданные манифесты предназначены для применения рекомендаций по защите развертывания, например:
- Автоматическое создание обследований жизнеспособности, готовности и запуска.
- Предпочтение pod anti-affinity и topology spread constraints, которые распределяют реплики на разные узлы для повышения устойчивости.
- Применение
RuntimeDefaultпрофиля безопасных вычислений, который устанавливает дополнительный уровень защиты от уязвимостей распространенных системных вызовов, эксплуатируемых злоумышленниками. - Отказ от всех возможностей Linux и разрешение только ограниченного набора, следуя базовым Стандартам безопасности Pod Kubernetes.
Чтобы создать манифесты Kubernetes, выполните следующие действия.
- Выберите "Создать файлы развертывания приложения " для параметров развертывания.
- Введите порт приложения. Этот порт используется для созданного
Service. - Выберите расположение, где нужно сохранить созданные манифесты Kubernetes в репозитории.
- Нажмите кнопку Далее.
Выберите место развертывания приложения
Если у вас еще нет кластера, вы можете создать новый кластер AKS Automatic в рамках этого развертывания.
- Выберите "Создать автоматический кластер Kubernetes" для конфигурации кластера.
- Введите имя кластера.
- Выберите расписание обслуживания автоматического обновления или оставьте вариант по умолчанию.
- Введите пространство имен Kubernetes , в котором развертывается приложение.
- Выберите уровень мониторинга и ведения журнала или оставьте выбранный по умолчанию.
- Нажмите кнопку Далее.
Проверка конфигурации и развертывание
Просмотрите конфигурацию манифестов кластера, приложения и Kubernetes, а затем выберите "Развернуть". Создание кластера занимает несколько минут, не покидайте страницу развертывания.
- Создается новый автоматический кластер AKS или настроен существующий.
- Создается реестр контейнеров или в кластере настроен существующий.
- Федеративные учетные данные создаются, чтобы рабочий процесс GitHub Action развертывался в кластере.
- Pull-реквест создается в репозитории кода, включая любые созданные файлы и рабочий процесс.
Проверка и слияние запроса на вытягивание
После успешного развертывания нажмите кнопку "Просмотреть запрос на вытягивание ", чтобы просмотреть сведения о созданном запросе на вытягивание в репозитории кода.
- Просмотрите изменения в разделе "Файлы" и внесите необходимые изменения.
- Выберите Merge pull request, чтобы объединить изменения в ваш кодовый репозиторий.
Объединение изменений запускает рабочий процесс GitHub Actions, который создает приложение в виде образа контейнера, сохраняет его в Реестр контейнеров Azure и развертывает в кластере.
Проверка развернутых ресурсов
После завершения конвейера можно просмотреть созданный Kubernetes Service на портале Azure, выбрав Сервисы и входы в разделе ресурсы Kubernetes в меню служб.
Выбор внешнего IP-адреса должен открыть новую страницу браузера с запущенным приложением.
Удаление ресурсов
После завершения работы с кластером его можно удалить, чтобы избежать Azure расходов.
- На портале Azure перейдите к группе ресурсов.
- Выберите команду Удалить группу ресурсов.
- Введите имя группы ресурсов, чтобы подтвердить удаление и нажмите кнопку "Удалить".
- В диалоговом окне "Удалить подтверждение" нажмите кнопку "Удалить".
Дальнейшие действия
В этом кратком руководстве вы развернули приложение в кластере Kubernetes с помощью AKS Automatic и настроили конвейер непрерывного развертывания (CI/CD) из репозитория кода.
Чтобы узнать больше об AKS Automatic, перейдите к обзору.