不用operator-sdk直接搭建operator镜像?

Building operator image directly without operator-sdk?

我在 Operator SDK 的帮助下创建了我的 Kubernetes 操作员 现在我想用我的 GitHub 回购进行一些自动构建,所以当我将一些东西推送到主服务器以触发操作员图像的构建时。

我可以使用 go build + docker build(用于构建图像)而不是 operator-sdk build 吗?

因为如果它做同样的工作,我不想再依赖一种工具来构建图像。

I 运行 operator-sdk build with --verbose 看起来它只做了这两件事(go build + docker build)但我不确定。如果我不想存在这样的验证,那么在这些命令之前可能会有一些验证和检查,我不想跳过它们。

使用 godocker 直接构建图像而不是 operator-sdk 是个坏主意吗?因为我不想在构建过程中做一些特别的事情,所以我只想在构建基础结构中不再有任何依赖,如果可以避免的话。

我遇到了类似的问题,如果您查看 operator-sdk 的源代码,它实际上会触发 go builddocker build(CLI,甚至是 API docker build)。所以是的,我写了一个简单的 docker 文件来执行 go build。就是这样。

编辑:这是 docker build 命令的形成方式以及最终 运行 作为系统命令的来源:https://github.com/operator-framework/operator-sdk/blob/master/cmd/operator-sdk/build/cmd.go#L98