1

我注意到所有关于在 kubernetes 中部署操作符的文档总是使用简单kubectl create -f /point/to/some/big/blob/deploying/the/operator.yaml的作为普通 helm 图表的“更新”替代品。这让我想知道为什么运营商部署通常不由 helm 管理,因此我们可以在图表中依赖它。

例如,如果我想要一个 Vitess 数据库集群作为我的 helm 管理的应用程序部署的一部分,据我了解,我很不走运,因为他们的 helm 图表已被弃用,他们建议使用操作员。但是,我无法通过在我的 Chart.yaml 中将其声明为依赖项来确保操作员存在于集群中。

我们有什么理由不能使用 helm 图表部署操作员吗?我唯一能想到的是 CRD 没有命名空间,因此我们不能在同一个集群中运行多个版本的算子,因此如果我们尝试推出两个需要不同版本算子的应用程序,我们会破坏东西.

我有哪些方法可以解决部署中无法依赖其他软件的问题?

4

1 回答 1

0

helm 依赖的一个问题是它们不能在多个项目之间共享。因此,只要您有多个依赖于同一操作员的 helm 图表,操作员作为 helm 依赖就会中断:helm 会尝试部署该操作员的多个实例,这可能不是您想要的。

话虽如此,多个操作符(例如 srimzi)提供了一种安装为舵图的方法。

于 2021-09-20T11:41:22.163 回答