【问题标题】:Spring Cloud Config Server vs ConfigMaps for cloud kubernetes [closed]用于云 kubernetes 的 Spring Cloud Config Server 与 ConfigMaps [关闭]
【发布时间】:2023-03-19 02:04:01
【问题描述】:

我们想利用 Spring Cloud Config Server 构建一个集中式 Toggle Server,但我读过一篇博客/文章暗示 Spring Cloud Config 不适合 Kubernetes 云环境(没有给出任何理由)。相反,建议为此使用 Spring Kubernetes ConfigMaps。

有人能否解释一下为什么不建议将 Spring Cloud Config Server 用于 Kubernetes 环境(如果有的话)?以及使用 Spring Kubernetes ConfigMaps 而不是 Spring Cloud Config Server 的优势(如果有的话)?

【问题讨论】:

  • 你试过了吗?它是 Spring Cloud 保护伞的一部分这一事实应该表明应该在云环境中使用。这是它存在的唯一原因,拥有一个集中/分布式的配置服务器。
  • 很明显它在spring cloud下,是的,但是一位同事也强烈认为它不适合Kubernetes - 我想知道使用Spring是否有任何副作用Cloud Config Server 或者 ConfigMaps 是否比 Spring Cloud Config Server 有任何好处。我想在有一些疑问的情况下继续进行一些解决方案之前,与熟悉这一点的人核实并没有错。
  • 您说 Spring Cloud Config 在云环境中不可用。您的问题是关于 Kubernetes 环境中的 Spring Cloud Config(这不是云环境的先决条件)。
  • 首先,我没有说明它是好是坏——我的问题是它是好是坏。无论如何,我已经更新了为什么 Spring Cloud Config 不适合 Kubernetes 环境的问题,如果有的话?希望我的问题现在很清楚
  • 最近写了一篇关于Spring Cloud Config和Kubernetes ConfigMap对比的文章。也许会有所帮助:joshgunh.medium.com/…

标签: java spring kubernetes spring-cloud-config


【解决方案1】:

以下是一些想法,一种可能有助于决定的比较:

一般来说,IMO 两者都可以工作。也许您的同事可以就此提供更多见解(我不是在开玩笑):如果您的特定环境中有一些特殊的东西阻止 Spring Cloud 配置被视为一种选择。

  1. 一旦 spring 云配置中的属性发生变化,可能具有@Refresh 范围的 bean 可以重新加载,而无需重新加载应用程序上下文。如果您使用弹簧,您可能会从中受益的一种解决方案。

  2. 一般情况下 Spring Cloud Config 可以管理 secrets(密码之类的东西),而 ConfigMaps 不能,在这种情况下你应该使用 kubernetes 的 Secrets。

  3. 另一方面,Spring Cloud Config - 需要专门的服务。 ConfigMaps 在 Kubernetes 中是“原生的”。

  4. 应用(业务)微服务启动时首先联系spring cloud config服务,如果不可用,应用将无法正确启动(技术上它回退到spring boot支持的其他配置方式,如application.properties 等)如果您有数百个微服务和数百个微服务实例,Cloud Config 必须始终可用,因此您可能需要这些的副本,这当然是完全可行的。

  5. 如果您的所有微服务都使用 Java / Spring,则 Spring Cloud Config 效果最佳。 ConfigMaps 是一种通用机制。话虽如此,spring cloud config 暴露了 REST 接口,因此您可以集成。

  6. Spring Cloud Config 需要一些文件,这些文件可以位于文件系统或 git 存储库中。所以“切换”实际上意味着 git commit 和 push。 Kubernetes 通常用于“后编译”环境,因此 git 可能在那里甚至不可用。

  7. DevOps 人员可能更习惯于使用 Kubernetes 工具,因为它是一种“通用”解决方案。

  8. 1234563也给他们。

【讨论】:

  • spring-cloud-kubernetes 解决了你在不使用 spring cloud config server 的情况下使用 k8s 列出的问题
猜你喜欢
  • 2017-07-15
  • 1970-01-01
  • 2016-02-18
  • 2021-05-23
  • 2022-08-17
  • 2019-06-03
  • 2016-06-04
  • 2022-07-14
  • 2019-08-11
相关资源
最近更新 更多