Пользовательский облачный драйвер Spinnaker

Я пытаюсь использовать Spinnaker для развертывания приложений в Mesos/Marathon. Поскольку этого облачного драйвера не существует, я сам пытаюсь его закодировать.

Я смотрел на spinnaker-clouddriver и пытался черпать вдохновение из azure, cf и google. Но я думаю, что мне не хватает информации о том, как я должен работать.

Знаете ли вы какую-либо документацию об участии в spinnaker-clouddriver? Или может кто-нибудь объяснить мне шаги по созданию собственного драйвера?

Спасибо.

На данный момент я создал:

@Component
class MarathonCloudProvider implements CloudProvider

@Component
class MarathonApplicationProvider implements ApplicationProvider 

Но я действительно не понимаю, что сюда вставить.


person Michaël L    schedule 04.10.2016    source источник


Ответы (1)


В Kubernetes есть хороший поток коммитов ( https://github.com/spinnaker/clouddriver/pulls?utf8=%E2%9C%93&q=kubernetes ) можно использовать в качестве примеров.

Это первоначальный PR для представления облачного провайдера - https://github.com/spinnaker/clouddriver/pull/214/files

Оттуда вам нужно будет реализовать все операции и описания, чтобы соответствовать этому.

По сути, чтобы создать нового облачного провайдера, вам необходимо сделать следующее:

  1. Разберитесь, как вы будете сопоставлять концепции вашего облачного провайдера с концепциями Spinnaker групп серверов, групп безопасности, балансировщиков нагрузки и заданий. У некоторых облачных провайдеров этого не будет, но у вас, по крайней мере, будет представление о группе серверов, которую вы хотели бы проиндексировать.

  2. Внедрите агенты и провайдеры кэширования, чтобы получить внутренний кэш вашей инфраструктуры. Здесь вы могли бы сопоставить существующую инфраструктуру с концепцией спинакера.

  3. Реализовать облачные операции (такие как развертывание, включение/выключение).

  4. Предоставьте пользовательский интерфейс.

Добавление нового облачного провайдера на самом деле не тривиально, я бы не рекомендовал это как отдельное мероприятие.

person Tomas Lin    schedule 11.10.2016