如何在生产环境中不安装operator-sdk的情况下部署操作员由operator-sdk v1.0创建?

问题描述

使用operator-sdk guide v1.0,在部署操作员时必须在生产环境中安装operator-sdk。

是否可以在不安装operator-sdk的情况下部署操作员?因为它导致更多的依赖性和复杂性。

如何仅生成CRD yaml,CR yaml和Contoller Image? 还是任何其他更方便的发布操作员的方式?

解决方法

operator-sdk不能直接在生产中运行运营商。相反,您应该将操作员作为群集中的“部署”来运行。 https://v1-0-x.sdk.operatorframework.io/docs/building-operators/golang/tutorial/#2-run-as-a-deployment-inside-the-cluster

,

您可以更改make deploy命令以生成具有操作员所需的所有rbac和部署对象的deploy.yaml。 在找到解决方案之前,我一直为自己奋斗。

只需更改make文件中的deploy任务即可。

$(KUSTOMIZE) build config/default | kubectl apply -f -

收件人

$(KUSTOMIZE) build config/default > deploy.yaml

然后运行make deploy。 然后复制deploy.yaml并将其安装在您的k8s中,或从中创建一个舵图。 这对我有用,在您的环境中不需要operator-SDK。

编辑:
我没有使用CRD,而是使用它来查看现有资源。 但是看来,对于CRD和CR,install任务也可以使用相同的解决方案。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...