07-11-2020 06:21

Конвейер CI / CD Azure DevOps с AKS

Конвейер CI / CD Azure DevOps с AKS

Микросервисы считаются сейчас одной из тенденций в веб-приложениях и архитектурах платформ. Архитектура на основе микросервисов дает ряд преимуществ по сравнению с монолитной архитектурой. Благодаря Microsoft конвейеры Azure DevOps считаются одними из самых простых в настройке конвейеров CI/CD для выпуска новой сборки для служб AKS.

ONYX BOOX Monte Cristo 5: лучше, чем бумагаВам будет интересно:ONYX BOOX Monte Cristo 5: лучше, чем бумага

Кластер Kubernetes – это очень важная система оркестровки контейнеризации в отрасли. Решение, которое Microsoft предложила для создания микросервисов с использованием Kubernetes, называется Azure Kubernetes Service или AKS.

Преимущества Kubernetes:

• Развертывание приложений быстро и предсказуемо, а также легкое координирование развертывания системы.

• Ограничение связи между контейнерами.

• Постоянный контроль и управление контейнерами.

• Повышение надежности и доступности.

• Масштабирование приложения для обработки изменений нагрузки на лету по мере необходимости.

• Лучшее использование ресурсов инфраструктуры.

img

Так зачем использовать решения Azure AKS?

• Размещение вашей среды Kubernetes.

• Простая интеграция со службами Azure, такими как балансировка нагрузки, хранилище BLOB-объектов Azure, Azure Active Directory, шлюз приложений, диспетчер трафика Azure и т.д.

• Быстрое и простое развертывание.

• Простое и безопасное управление контейнерными приложениями.

• Непрерывная интеграция за счет принятия концепции Azure Pipeline для создания образов Docker для более быстрого развертывания и надежности.

• Создание ресурсов и инфраструктуры внутри кластера Azure Kubernetes с помощью файлов манифеста развертываний и служб.

• Служба управления AKS предоставляется бесплатно в Microsoft Azure.

img

Далее хотелось бы рассмотреть поэтапно стратегию развертывания AKS:

1. Разработчик отправляет исходный код в репозиторий Azure.

2. Azure pipeline запускает сборку путем клонирования кода приложения из репозитория Azure либо в агент сборки, размещенный на сервере Microsoft, либо в самоуправляемые агенты сборки.

3. Агенты сборки Azure будут строить задание и генерировать развертываемые артефакты, которые можно отправить в место размещения в промежуточном каталоге артефактов.

4. Azure pipeline создает образ докера с артефактами кода приложения, маркирует изображение и отправляет его в реестр контейнеров Azure.

5. Azure pipeline помечает код приложения, который был помещен в контейнер, и отправляет код в репозиторий Azure.

6. Azure pipeline выполняет команды kubectl для повторного развертывания модулей.

img

Процесс повторного развертывания начинается с извлечения последнего образа из реестра контейнеров Azure.

7. Процесс развертывания служб Azure Kubernetes:

• ConfigMap для хранения нечувствительных переменных среды.

• Секреты хранения конфиденциальных переменных среды.

• Постоянные тома, хранилище BLOB-объектов и т. д.

• Хранилище ключей Azure для хранения секретов DevOps, учетных записей служб и управления сертификатами TLS/SSL.

• Управляемые службы Azure.

8. Создание объектов Kubernetes (сервисы, объект Ingress и т. д.) для взаимодействия с подами.

9. Настройка балансировщика нагрузки, правил пересылки и назначение внешнего общедоступного IP-адреса (контроллер входящего трафика).

10. Пользователи получают доступ к приложению с общедоступных URL-адресов.

Microsoft Azure

Журнал: Журнал IT-Expert [№ 10/2020], Подписка на журналы

Поделиться: