Создание образа оператора напрямую без оператора-sdk?
Я создал свой оператор Kubernetes с помощью Operator SDK. Теперь я хочу сделать автоматическую сборку с моим репозиторием GitHub, чтобы, когда я нажимаю что-то мастеру, чтобы запустить сборку образа оператора.
Могу ли я использовать go build + docker build
(для построения изображения) вместо operator-sdk build
?
Потому что, если он выполняет ту же работу, я не хочу полагаться на еще один инструмент для создания изображения.
я бегу operator-sdk build
с --verbose
и похоже, что он делает только две вещи (go build + docker build), но я не уверен. Перед этой командой могут быть некоторые проверки и проверки, если я не хочу, чтобы такие проверки существовали, я не хочу их пропускать.
Плохая идея использовать go
а также docker
для прямого построения изображения вместо operator-sdk
? Поскольку я не хочу делать что-то особенное во время сборки, я просто хочу, чтобы в инфраструктуре сборки не было еще одной зависимости, если этого можно избежать.
1 ответ
Я столкнулся с аналогичным вопросом, и если вы посмотрите исходный код для operator-sdk
, это действительно запускает go build
и docker build
(CLI, и даже не API для docker build
). Итак, да, я написал простой файл докеров, чтобыgo build
. Вот и все.
РЕДАКТИРОВАТЬ: Вот источник того, как docker build
команда формируется и, наконец, запускается как системная команда: https://github.com/operator-framework/operator-sdk/blob/master/cmd/operator-sdk/build/cmd.go