我是库伯内特斯的新手。我有个疑问。
假设我有一个软件产品,其中有5个微服务。它部署在我的Kubernetes集群(OCP集群)上,并且运行良好。每个微服务都有关于集群部署、服务、configmap yaml文件等的Kubernetes配置文件。
假设我想将产品卖给客户,他们将在自己的product集群中安装(可能在OCP或Amazon中)
是向客户提供产品的合适方式?
Way1 -为每个微服务发送所有yaml文件(deployment.yaml、service.yaml、configmap.yaml)。由于总共有5个微服务,所以5个deployment.yaml,5个service.yaml,configMap.yaml文件等。收到这些文件后,他们将手动设置在他们的Kubernetes集群中的文件,然后所有的豆荚将出现。
Way2 -对于每个微服务,我们将给出库伯内特斯赫尔姆图。因此,总共5个Helm为5个微服务。一旦收到图表,他们将安装所有的yaml文件与头盔安装。
Way3 -还是其他更好的方式?
备注-私人码头形象储存库的访问将给予客户拉微服务图像。
发布于 2022-05-03 11:26:08
路1:不。有工具可以做到这一点。你不需要到处发送yaml文件。
方法2:这是最好的方法,但有一些编辑。创建5个舵图来管理您的产品的独立组件。然后创建一个依赖于其他5的第6张图表,这样你只需要给消费者1张“产品”图表,然后该图表就能得到运行所需的一切。通常是这样做的。参见grafana的洛基栈之类的项目。他们有一个名为“洛基堆栈”的舵图,该图表依赖于地堑、洛基、普罗米修斯、普罗米修斯等。然后你的消费者只需使用helm install my-product,helm就可以得到这5张服务图表。
方法3:有很多方法可以做到这一点,但它们都是特定于实现的。例如,您可以使用OAM + KubeVela。然而,如果消费者不使用OAM + KubeVela,这是一个问题。在更多的人开始使用像KubeVela这样的东西之前,KubeVela是现在的标准方法
https://stackoverflow.com/questions/72097842
复制相似问题