Дрон рабов, предоставленных CoreOs
У меня есть беспилотный хост и кластер CoreOS с флотом. Дрон теперь имеет только unix:///var/run/docker.sock в меню узлов. Как я понимаю, я мог бы добавить другие док-узлы, определенные URL-адресами и сертификатами докеров. Однако, если у меня есть кластер CoreOS, кажется логичным использовать его в качестве поставщика подчиненных устройств. Я ищу решение, где
(1) Мне не нужно настраивать узлы всякий раз, когда меняется конфигурация кластера CoreOS, и
(2) обеспечивает правильное управление ресурсами.
Я мог бы подумать о следующих решениях:
- Разоблачите Docker Uris в узлах кластера CoreOS и настройте их все непосредственно в Drone. В этом случае я бы следил за изменениями кластера CoreOs вручную. Управление ресурсами, вероятно, будет противоречить управлению флотом.
- Предоставьте доступ к док-станции в узлах кластера CoreOS и предоставьте доступ на основе циклического перебора DNS. Кажется, это ужасный способ управления ресурсами, и, скорее всего, конфликт с ногами.
- Установите Swarm на узлах CoreOs. Управление ресурсами, вероятно, будет противоречить управлению флотом.
- Пусть флот или RKT выставят док-станцию uri, и флот /RKT определит, на каком узле будет работать контейнер. Проблема в том, что я не мог найти способ сделать это.
- Имейте drone.io использование флота или RKT. Та же проблема. Является ли это возможным?
Есть ли способ предложить решения для всех моих требований с помощью drone.io и CoreO?
1 ответ
Как я понимаю, я мог бы добавить другие док-узлы, определенные URL-адресами и сертификатами докеров. Однако, если у меня есть кластер CoreOS, кажется логичным использовать его в качестве поставщика подчиненных устройств.
Новейшая версия дрона поддерживает сборку агентов. Агенты сборки устанавливаются для каждого сервера и будут взаимодействовать с центральным сервером беспилотников для извлечения сборок из очереди, выполнения и отправки результатов.
docker run \
-e DRONE_SERVER=http://my.drone.server \
-e DRONE_SECRET=passcode \
-v /var/run/docker.sock:/container/path/docker.sock \
drone/drone:0.5 agent
Это позволяет добавлять и удалять агентов на лету без необходимости регистрировать или управлять ими на уровне сервера.
Я считаю, что это должно решить основную проблему, которую вы изложили, хотя я не уверен, что она обеспечит тот уровень интеграции, который вы желаете с флотом и coreos. Возможно, эксперт Coreos может дополнить мой ответ.