2

使用operator-sdk guide v1.0,部署 operator 时需要在生产环境中安装 operator-sdk。

不安装operator-sdk就可以部署operator吗?因为它会导致更多的依赖性和复杂性。

如何只生成 CRD yaml、CR yaml 和 Contoller Image?或者还有什么更方便的发布 Operator 的方式?</p>

4

2 回答 2

0

您可以更改 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 的任务。

于 2020-11-29T19:03:13.523 回答
0

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

于 2020-10-29T14:14:04.990 回答