Статьи

Развертывание приложений в стиле микросервисов с помощью CoreO, Docker и Nirmata

[Эта статья была написана Ритеш Патель .]

Поскольку внедрение контейнеров приложений продолжает расти, популярность «минимальных» операционных систем, предназначенных для запуска контейнеров, растет. Одной из таких операционных систем является CoreOS. CoreO были спроектированы для запуска современных облачных собственных приложений и обеспечения поддержки контейнеров Docker.

В этом посте я опишу, как Nirmata может использоваться для развертывания и эксплуатации приложений микросервисов в CoreOS. Шаги высокого уровня просты:

  1. Создать группу хостов
  2. Настройте виртуальную машину CoreOS
  3. Развернуть приложение

Я опишу каждый шаг подробно ниже.

Создать группу хостов

В Нирмате группа хостов — это пул идентичных ресурсов. Вы можете определить одну или несколько групп хостов для каждого облачного провайдера, а затем сопоставить группы хостов с политиками уровня приложений и служб.

Nirmata поддерживает несколько государственных и частных облачных провайдеров. Для этой настройки я буду использовать тип поставщика «Другой» и напрямую подключать отдельные экземпляры CoreOS к моей группе хостов.

Первым шагом является создание новой группы хостов в Нирмате для моих виртуальных машин CoreOS. Это можно сделать, перейдя в Host Groups-> Other и нажав кнопку Add Host Group. В мастере я могу указать имя для моей группы хостов и там политику выбора ресурса.

Создать группу хостов

В политике выбора ресурса я выбираю «Песочница» в качестве типа среды и «Доступная память» в качестве типа размещения. Эта политика гарантирует, что всякий раз, когда приложение развертывается в среде «Песочница», используется кластер CoreOS, а контейнеры размещаются на основе памяти, доступной на виртуальных машинах в кластере.

Создать групповую политику хоста

После создания этой группы узлов я могу добавить свои виртуальные машины CoreOS в кластер. Также отображается команда CLI для настройки виртуальных машин для подключения к Nirmata и добавления в эту группу хостов.

Создана группа хостов

Настройте виртуальную машину CoreOS

Чтобы настроить виртуальные машины CoreOS для использования с Nirmata, я могу подключиться к виртуальной машине по ssh и запустить команду, чтобы настроить виртуальные машины для подключения к Nirmata и добавления в мою группу хостов. Команда также отображается на странице группы хостов:

sudo curl -sSL http://www.nirmata.io/nirmata-host-agent/setup-nirmata-agent.sh | sudo sh -s other <host-group-id>

Эта команда загрузит образ контейнера агента хоста и запустит его как службу systemd.

Установить агент НирматаВы можете проверить, работает ли хост-агент, с помощью команды docker ps:

Проверьте хост-агент 

После запуска агента хоста он подключится к Nirmata и хост будет добавлен в группу хостов.

хост соединенных-1

Вы можете повторить эти шаги, чтобы добавить несколько виртуальных машин CoreOS в вашу группу хостов. Я добавил еще одну виртуальную машину в свою группу хостов, чтобы в моем кластере CoreOS было 2 виртуальных машины.

хозява-связной-дифферент

Разверните ваше приложение

Теперь я готов развернуть свое приложение. Я импортировал небольшое демонстрационное приложение с 6 сервисами в Нирмате.

План приложения

Чтобы создать среду для развертывания этого приложения, перейдите в раздел «Среды» и нажмите «Добавить среду». В мастере выберите тип среды «Песочница», а приложение — «Shopme-demo».

Создать среду

Нажмите Готово, чтобы начать развертывание среды. Вы должны увидеть, как контейнеры (службы) будут развернуты.

Развертывание среды

Через несколько минут все службы развернуты и работают.

Беговая среда 

Я могу убедиться в этом, перейдя в представление группы хостов и просмотрев хосты. Я вижу, что на каждом хосте развернуто 3 контейнера.

Проверить группу хостов

Я также могу проверить, что мои контейнеры развернуты, проверив мои виртуальные машины.

Проверьте на CLI

Проверьте на CLI

После развертывания моего приложения я могу активно отслеживать его и управлять им из Nirmata. Я могу легко добавить дополнительные хосты в свою группу хостов, а также увеличить или уменьшить свои контейнеры.

As you can see, within a few minutes you can create a cluster of VMs and deploy a distributed application with Nirmata. Once deployed, the application can also be easily monitored and managed. Give it a try and let us know what you think!

To deploy your CoreOs cluster on different cloud providers, you can refer to our documentation.