我对 Kubernetes 有点陌生,不确定执行此操作的标准方法。我希望拥有单个微服务的多个实例,但每个容器的参数化略有不同。 (也许传递给容器的环境变量对于每个实例都是不同的,如 .yaml 文件的容器规范中所指定?)
似乎具有多个副本的单一部署不起作用。然而,拥有 n 个不同的部署且 .yaml 文件略有不同似乎有点多余。也许有某种模板解决方案吗?
或者每个微服务是否应该相同并从中央服务中寻找其参数?
我意识到这可以被解释为“意见问题”,但我正在寻找典型的解决方案。
最佳答案
肯定有几种方法可以做到这一点。一种流行的选择是使用 Helm 。 Helm 允许您使用 Go 模板定义 kubernetes list ,并将它们打包在一个称为 Helm Chart 的单元上。稍后您可以安装此 Chart(Helm 调用安装来将这些 list 保存在 Kubernetes API 中)。安装 Helm Chart 时,您可以传递渲染模板时将使用的参数。这样您就可以重用几乎所有内容,只需替换 list 的重要部分:部署、服务等。
有plenty of Helm charts available as open sources projects ,您可以将其用作如何创建自己的图表的示例。
关于docker - Kubernetes 中参数略有不同的微服务实例(Docker 化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56118904/