задействованная технология Докер + Ранчер + SwarmKit + Дженкинс
задний план:
В условиях масштабного продвижения микросервисов большое количество приложений сегментируется с большей степенью детализации. Это приводит к сложным и высоким затратам на развертывание большого количества прикладных служб, а также на выделение и использование машинных ресурсов. В условиях бессерверной тенденции контейнеризация традиционных приложений стала стандартным порогом входа.
Цель:
- Улучшить использование машины.
- Горизонтальная масштабируемость. Использование ресурсов машины можно сегментировать и управлять службами приложений, а также можно быстро настроить квоты (память, ЦП, сеть, диск).
- Портативность. Инкапсулирует приложения и зависимости от конфигурации среды.
- Возможности управления жизненным циклом приложений. Автоматическое развертывание, развертывание с несколькими экземплярами, откат и т. д. Может быть уточненным, автоматизированным и ощутимым.
План реализации:
Докер для контейнеризации
Docker: это механизм контейнера приложений с открытым исходным кодом, который позволяет разработчикам упаковывать свои приложения и зависимости в переносимый контейнер, а затем публиковать их на любой популярной машине Linux, которая также может быть виртуализирована.
Docker SwarmKit для оркестрации контейнеров
Docker SwarmKit: инструмент Docker с открытым исходным кодом для управления и оркестровки кластера Docker. Основываясь на согласованности и планировании задач алгоритма Raft, он легче, чем K8S, и имеет меньшую стоимость развертывания. Обеспечивает управление кластером и оркестрацию служб, а также гарантию согласованности состояния планирования.
Rancher для контейнерного хостинга
Rancher: платформа управления контейнерами корпоративного уровня с открытым исходным кодом, обеспечивающая полное управление контейнерами.
Плагин Docker для упаковки изображений
Докер плагинПлагин :Docker позволяет создавать приложения и упаковывать образы для жизненного цикла сборки MAVEN, а затем отправлять образы на частные зеркальные серверы после упаковки.
Подключаемый модуль Jenkins и Rancher для доставки команд контейнера
Jenkins Плагин Jenkins-RancherИспользуйте подключаемый модуль Rancher в Jenkins, чтобы выдавать Rancher инструкции по обновлению службы после сборки приложения.
Обзор
Весь процесс контейнеризации приложения выглядит следующим образом.
- Дженкинс инициирует команду сборки приложения.
- Maven запускает плагин Docker в приложении для создания образа.
- Maven запускает подключаемый модуль Docker в приложении, чтобы отправить образ на частный сервер образа.
- Дженкинс отправляет Rancher инструкции по обновлению услуг через плагин Rancher.
- Rancher выполняет обновления сервисов через управляемый Docker SwarmKit. Извлеките образ с частного сервера и перезапустите контейнер.
недостаточный
- Текущая версия Rancher 1.6 не поддерживает указание параметров, отличных от платформы управления Rancher, при запуске контейнера Docker. Бесчисленные настройки для таких параметров, как процессор и oom-kill-disable
подпись
Рисовый пирог для мамы --- Zixi