使用operator-sdk guide v1.0,部署 operator 时需要在生产环境中安装 operator-sdk。
不安装operator-sdk就可以部署operator吗?因为它会导致更多的依赖性和复杂性。
如何只生成 CRD yaml、CR yaml 和 Contoller Image?或者还有什么更方便的发布 Operator 的方式?</p>
使用operator-sdk guide v1.0,部署 operator 时需要在生产环境中安装 operator-sdk。
不安装operator-sdk就可以部署operator吗?因为它会导致更多的依赖性和复杂性。
如何只生成 CRD yaml、CR yaml 和 Contoller Image?或者还有什么更方便的发布 Operator 的方式?</p>
您可以更改 make deploy 命令以生成包含操作员所需的所有 rbac 和部署对象的 deploy.yaml。在找到这个解决方案之前,我一直在与自己作斗争。
只需更改 make 文件中的部署任务。
$(KUSTOMIZE) build config/default | kubectl apply -f -
至
$(KUSTOMIZE) build config/default > deploy.yaml
然后运行 make deploy。然后复制 deploy.yaml 并将其安装在您的 k8s 中或从中创建一个 helm chart。这对我有用,不需要在您的环境中使用 operator-sdk。
编辑:
我没有使用 CRD,而是使用它来观看现有资源。但看起来相同的解决方案应该适用install
于 CRD 和 CR 的任务。
operator-sdk 并非旨在直接在生产中运行操作员。相反,您应该将您的操作员作为集群内的部署运行。https://v1-0-x.sdk.operatorframework.io/docs/building-operators/golang/tutorial/#2-run-as-a-deployment-inside-the-cluster