[Эта статья была написана Ритеш Патель .]
Поскольку внедрение контейнеров приложений продолжает расти, популярность «минимальных» операционных систем, предназначенных для запуска контейнеров, растет. Одной из таких операционных систем является CoreOS. CoreO были спроектированы для запуска современных облачных собственных приложений и обеспечения поддержки контейнеров Docker.
В этом посте я опишу, как Nirmata может использоваться для развертывания и эксплуатации приложений микросервисов в CoreOS. Шаги высокого уровня просты:
- Создать группу хостов
- Настройте виртуальную машину CoreOS
- Развернуть приложение
Я опишу каждый шаг подробно ниже.
Создать группу хостов
В Нирмате группа хостов — это пул идентичных ресурсов. Вы можете определить одну или несколько групп хостов для каждого облачного провайдера, а затем сопоставить группы хостов с политиками уровня приложений и служб.
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 и хост будет добавлен в группу хостов.
Вы можете повторить эти шаги, чтобы добавить несколько виртуальных машин CoreOS в вашу группу хостов. Я добавил еще одну виртуальную машину в свою группу хостов, чтобы в моем кластере CoreOS было 2 виртуальных машины.
Разверните ваше приложение
Теперь я готов развернуть свое приложение. Я импортировал небольшое демонстрационное приложение с 6 сервисами в Нирмате.
Чтобы создать среду для развертывания этого приложения, перейдите в раздел «Среды» и нажмите «Добавить среду». В мастере выберите тип среды «Песочница», а приложение — «Shopme-demo».
Нажмите Готово, чтобы начать развертывание среды. Вы должны увидеть, как контейнеры (службы) будут развернуты.
Через несколько минут все службы развернуты и работают.
Я могу убедиться в этом, перейдя в представление группы хостов и просмотрев хосты. Я вижу, что на каждом хосте развернуто 3 контейнера.
Я также могу проверить, что мои контейнеры развернуты, проверив мои виртуальные машины.
После развертывания моего приложения я могу активно отслеживать его и управлять им из 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.