Разработка и развертывание приложений
Изучите шаблоны и методики разработки приложений, настройте конвейеры Azure и выполните рекомендации по обеспечению надежности информационных систем (SRE). SRE — это подход к разработке и развертыванию приложений, управлению изменениями, мониторингу и реагированию на чрезвычайные ситуации.
Планирование, обучение и подтверждение
Используйте следующие ресурсы проверка list и разработки приложений для планирования разработки и развертывания приложений. Вы должны иметь ответы на следующие вопросы.
- Вы уже подготовили среду разработки приложений и рабочий процесс настройки?
- Как вы будете структурировать папку проекта для поддержки разработки приложений Kubernetes?
- Вы определили требования к состоянию, конфигурации и хранилищу приложения?
Список проверка SRE
Подготовьте среду разработки. Настройте среду с помощью средств для создания контейнеров и настройки рабочего процесса разработки.
Дополнительные сведения см. в разделе:
- Working with Docker in Visual Studio Code (Работа с Docker в Visual Studio Code)
- Working with Kubernetes in Visual Studio Code (Работа с Kubernetes в Visual Studio Code)
- Обзор Bridge to Kubernetes
Контейнеризируйте приложение. Ознакомьтесь с комплексным интерфейсом разработки Kubernetes, включая формирование шаблонов приложений, рабочие процессы внутреннего цикла, платформы управления приложениями, конвейеры CI/CD, агрегирование журналов, мониторинг и метрики приложений.
Дополнительные сведения см. на следующих ресурсах:
Изучите типичные сценарии применения Kubernetes. Kubernetes часто считается платформой для доставки микрослужб, но становится более широкой платформой. Дополнительные сведения о распространенных сценариях Kubernetes, таких как пакетная аналитика и рабочий процесс, см. в разделе "Обзор распространенных сценариев Kubernetes (видео)".
Подготовьте приложение к использованию Kubernetes. Подготовьте структуру файловой системы приложения для Kubernetes и создайте разделы для еженедельных или ежедневных выпусков. Узнайте, как процесс развертывания Kubernetes обеспечивает надежное обновление без простоя.
Дополнительные сведения см. в разделе:
- How Kubernetes deployments work (Видео "Как работают развертывания Kubernetes")
- Разработка и развертывание приложений в Kubernetes
Управляйте хранилищем приложений. Выясните, какие существуют потребности в производительности и методах доступа для групп pod, чтобы предоставить приложениям подходящие варианты хранилища. Следует продумать методы резервного копирования и протестировать процессы восстановления для подключенного хранилища.
Дополнительные сведения см. на следующих ресурсах:
- Basics of stateful applications in Kubernetes (видео) (Основные сведения о приложениях с отслеживанием состояния в Kubernetes)
- Состояние и данные в приложениях Docker
- Рекомендации по хранению и резервному копированию в Службе Azure Kubernetes (AKS)
Управляйте секретами приложений. Используйте хранилище ключей для хранения и извлечения ключей и учетных данных. Не храните учетные данные в коде приложения.
Дополнительные сведения см. в разделе:
- Как работает Kubernetes и управление конфигурацией (видео)
- Understand secrets management in Kubernetes (видео "Общие сведения об управлении секретами в Kubernetes")
- Use Azure Key Vault with Kubernetes (Использование Azure Key Vault в Kubernetes)
- Использование Идентификация рабочей нагрузки Microsoft Entra для проверки подлинности и доступа к ресурсам Azure
Развертывание в рабочей среде и применение рекомендаций
При подготовке приложения для рабочей среды используйте следующий контрольный список. Вы должны иметь ответы на следующие вопросы.
- Есть ли у вас мониторинг всех аспектов приложения?
- Определены ли требования к ресурсам для вашего приложения? Как насчет требований к масштабированию?
- Можно ли развертывать новые версии приложения, не затрагивая рабочие системы?
Рекомендации по SRE проверка list
Настройте проверку готовности и текущие проверки работоспособности. Kubernetes использует проверки готовности и работоспособности для контроля готовности приложения к получению трафика и определения необходимости его перезапуска. Если вы не определяете проверка, Kubernetes не может определить, работает ли ваше приложение. Дополнительные сведения см. в документе Liveness and readiness checks (Проверки готовности и работоспособности).
Настройка ведения журналов, мониторинга приложений и предупреждений. Мониторинг контейнеров имеет решающее значение, особенно при запуске рабочего кластера в большом масштабе с несколькими приложениями. Рекомендуемым методом ведения журнала для контейнерных приложений является запись в стандартные потоки вывода (
stdout
) и ошибок (stderr
).Дополнительные сведения см. в разделе:
- Logging in Kubernetes (Ведение журнала в Kubernetes)
- Приступая к работе с мониторингом и оповещениями для Kubernetes (видео)
- Azure Monitor для контейнеров
- Включение и проверка журналов плоскости управления Kubernetes в Служба Azure Kubernetes (AKS)
- Просмотр журналов Kubernetes, событий и метрик Pod в режиме реального времени
Определите требования к ресурсам для приложения. Основной способ управлять вычислительными ресурсами в кластере Kubernetes — использовать запросы и ограничения pod. Эти запросы и ограничения сообщают планировщику Kubernetes, какие вычислительные ресурсы следует назначать pod. Дополнительные сведения см. в статье Определение запросов и ограничений ресурсов pod.
Настройте требования к масштабированию приложений. Kubernetes поддерживает горизонтальное автомасштабирование pod для изменения числа групп pod в развертывании в зависимости от использования ЦП или других выбранных метрик. Чтобы использовать инструмент автомасштабирования, для всех контейнеров в pod необходимо определить запросы и лимиты ресурсов ЦП. Подробнее см. раздел о настройке горизонтального автомасштабирования pod.
Развертывание приложений с помощью автоматизированного конвейера и DevOps. Полная автоматизация всех шагов между фиксацией кода и развертыванием в рабочей среде позволяет группам сосредоточиться на создании кода и устраняет издержки и человеческие ошибки, которые возможны при ручных действиях. Развертывание нового кода является более быстрым и менее рискованным, что помогает командам становиться более гибким, более продуктивным и более уверенным в выполнении кода.
Дополнительные сведения см. на следующих ресурсах:
- Развитие практик DevOps
- Setting up a Kubernetes build pipeline (видео "Настройка конвейера сборки в Kubernetes")
- Центр развертывания для Службы Azure Kubernetes
- GitHub Actions для развертывания в Службе Azure Kubernetes
- Руководство. Развертывание из GitHub в Служба Azure Kubernetes с помощью Jenkins
Оптимизация и масштабирование
Теперь, когда приложение находится в рабочей среде, используйте проверка список развертываний приложений для оптимизации рабочего процесса и подготовки приложения и команды для масштабирования. Вы должны иметь ответы на следующие вопросы.
- Отделены ли сквозные функции приложения от самого приложения?
- Можете ли вы поддерживать надежность системы и приложения, продолжая развертывать новые возможностям и версии?
Список проверка развертывания приложений
Разверните шлюз API. Шлюз API выступает в качестве точки входа для микрослужб, отделяет клиентов от микрослужб, добавляет дополнительный уровень безопасности и уменьшает сложность микрослужб за счет устранения проблем, связанных с обработкой сквозных задач. Дополнительные сведения см. в статье Использование службы управления API Azure с микрослужбами, развернутыми в службе Kubernetes Azure.
Разверните сетку служб. Сетка служб предоставляет возможности для рабочих нагрузок, таких как управление трафиком, устойчивость, политика, безопасность, надежная идентификация и наблюдаемость. Приложение отделяется от этих операционных возможностей, а сетка служб перемещает их из слоя приложений и вниз до уровня инфраструктуры.
Дополнительные сведения см. в разделе:
- How service meshes work in Kubernetes (видео "Как работает сетка служб в Kubernetes?")
- Сведения о сетках служб
- Надстройка Open Service Mesh для AKS
- Использование Istio для AKS
- Использование Linkerd для AKS
- Использование Consul для AKS
- How service meshes work in Kubernetes (видео "Как работает сетка служб в Kubernetes?")
Реализуйте методики SRE. SRE — это проверенный подход, который поддерживает важную систему и надежность приложений и выполняет итерацию на скорости, которую требует Marketplace.
Дополнительные сведения см. на следующих ресурсах: