Создание образа оператора напрямую без оператора-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

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