我注意到所有关于在 kubernetes 中部署操作符的文档总是使用简单kubectl create -f /point/to/some/big/blob/deploying/the/operator.yaml
的作为普通 helm 图表的“更新”替代品。这让我想知道为什么运营商部署通常不由 helm 管理,因此我们可以在图表中依赖它。
例如,如果我想要一个 Vitess 数据库集群作为我的 helm 管理的应用程序部署的一部分,据我了解,我很不走运,因为他们的 helm 图表已被弃用,他们建议使用操作员。但是,我无法通过在我的 Chart.yaml 中将其声明为依赖项来确保操作员存在于集群中。
我们有什么理由不能使用 helm 图表部署操作员吗?我唯一能想到的是 CRD 没有命名空间,因此我们不能在同一个集群中运行多个版本的算子,因此如果我们尝试推出两个需要不同版本算子的应用程序,我们会破坏东西.
我有哪些方法可以解决部署中无法依赖其他软件的问题?