我注意到,所有关于在kubernetes中部署运算符的文档都使用简单的kubectl create -f /point/to/some/big/blob/deploying/the/operator.yaml作为普通舵图的“更新”替代方案。这让我想知道为什么操作员部署通常不是由helm管理的,所以我们可以在图表中依赖它。
例如,如果我想要一个Vitess数据库集群作为我的helm管理的应用程序部署的一部分,据我所知,我不太走运,因为他们的helm图表已被弃用,他们建议使用操作符。但是,我无法通过在Chart.yaml中将运算符声明为依赖项来确保它存在于集群中。
我们不能使用舵图部署操作符有什么原因吗?我唯一能想到的是CRD不是命名空间的,所以我们不能在同一个集群中运行一个operator的多个版本,因此,如果我们试图推出两个需要不同版本operator的应用程序,我们就会打破常规。
我有什么可能解决在我的部署中不能依赖于另一个软件的问题?
发布于 2021-09-20 11:41:22
helm依赖关系的一个问题是它们不能在多个项目之间共享。因此,当您拥有依赖于同一操作符的多个helm图表时,operator - as - helm依赖关系就会中断:helm会尝试部署该操作符的多个实例,这可能不是您想要的。
也就是说,多个运算符(例如strimzi)提供了一种将其安装为舵图的方法。
https://stackoverflow.com/questions/64901259
复制相似问题