Контейнерное построение и преобразование микросервисов (1) -- комплексное решение

Микросервисы контейнер Docker Jenkins

задействованная технология Докер + Ранчер + 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