Дрон рабов, предоставленных 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 может дополнить мой ответ.

Другие вопросы по тегам