понедельник, 7 ноября 2022 г.

Spinnaker - день первый

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

Недели две назад Spinnaker снова появился на радаре в виде презентации от заказчика и вопросом стоит ли его использовать. Нутро подсказывало что не стоит с ним связываться, но четких аргументов я сформулировать тогда не смог т.к. практического опыта не было. Ради обоснованных аргументов я и решился на близкое знакомство со Spinnaker в рамках прошедших выходных.

Начинается приключение в субботу в виде листания документации до раздела quickstart. Тратить время на "правильную" установку не хочется и поэтому беру Minnaker и пробую развернуть его в VirtualBox. Чтобы минимизировать возможные приключения ставлю согласно system requirements, а значит на Debian 10. В Debian 11 есть изменения в районе cgroupv2 и кое-что перестало работать - я уже писал об этом ранее в контексте LXC.

K3S поставился, но дальше установка упала из-за Github issue #106. Установщик пытается определить последнюю версию spinnaker-operator на странице релизов и не может правильно распарсить HTML (скорее всего верстка страницы изменилась).

Делаем пометку чтобы позже поправить и заслать патчик, а пока задаем SPIN_OP_VERSION=1.2.5 и запускаем установку заново. Через какое-то время перед глазами предстает watch kubectl get pods -n spinnaker в котором в глаза бросается постоянно падающий minio (Github issue #102).

Поправил руками манифест minio и он запустился, но ни одного сервиса Spinnaker не было видно. В логах spinnaker-operator нашлись ругательства что в CRD не указана версия. Скорее всего проблема аналогична Github issue #106. В Github issues я такого репорта не нашел - делаю еще одну пометку. Поправить проблему можно указав версию Spinnaker в CRD и тогда оператор сделает свою работу.

Чтобы понять, что делать дальше посмотрел несколько обучающих видео по работе со Spinnaker, добавил https://github.com/GoogleCloudPlatform/spinnaker-for-gcp/ в закладки и сформулировал максимально простой план на следующий день:

  • добавить helloworld приложение в Cloud Source Repositories;
  • настроить Cloud Build для сборки Docker образа и загрузки манифестов Kubernetes в Cloud Storage бакет;
  • настроить Spinnaker реагировать на успешную сборку Cloud Build и деплоить приложение в GKE;

На этом заканчивается первый день со Spinnaker.

Комментариев нет:

Отправить комментарий