【问题标题】:When would I need to use Spring Cloud Config with Vault instead of just using Spring Cloud Vault?我什么时候需要将 Spring Cloud Config 与 Vault 一起使用,而不仅仅是使用 Spring Cloud Vault?
【发布时间】:2019-06-25 07:12:15
【问题描述】:

我在一个使用Spring Cloud Config Server with Vault backend 的项目中,我不知道为什么我们需要云配置服务器。在尝试使用Spring Cloud Vault 将其转移到更简单的实现之前,我想知道是否有理由保留Spring Cloud Config with Vault

我知道已经有一个类似的问题,但它没有回答为什么我们会使用一个而不是另一个:Difference between Spring Cloud Vault and Spring Cloud Config with Vault backend

【问题讨论】:

    标签: spring spring-boot hashicorp-vault spring-cloud-vault-config spring-vault


    【解决方案1】:

    这更像是一个长评论而不是一个具体的答案,因为我认为这个问题有点离题,因为它看起来像一个基于意见的问题。

    Spring Cloud Vault 是您项目的 maven 依赖项,如下所示: org.springframework.cloud spring-cloud-starter-vault-config

    使用上述依赖项,您只需在项目中创建带有 Vault 属性的 bootstrap.yml(或 .properties),它将连接到 Vault。因此,如果您有一个 Spring Boot 应用程序,那么您的后端将如下所示:

    [yourApp:8080] --> [vault:8200]
    

    另一方面,如果您将 Spring Cloud Config 与 vault 一起使用,那么您实际上有两个独立的 Spring Boot 应用程序(比如说微服务)和 vault,所以您将拥有:

    [yourApp:8080] --> [cloudConfig:8888] --> [vault:8200]
    

    此外,尽管您可以使用 Spring Cloud Vault 而不是 Spring Cloud Config 来提取属性,但 vault 的目的是存储机密(敏感信息、凭据等),因此 Spring Cloud Vault 可以帮助您将应用程序连接到 vault。 Spring Cloud Config 服务器专注于集中应用程序属性存储,它还提供多个端点来获取这些属性以及更多有助于微服务架构的功能。

    【讨论】:

    • 这个问题并不意味着期待一个意见作为答案。我在问Spring Cloud Config 是否有合法的技术原因和场景优于Spring Cloud Vault
    • @Dany 他们有不同的目的。 Spring Cloud Config 的意图是对分布式系统进行集中配置,其中 Vault 是秘密存储。 Spring Cloud Vault 帮助您从 Vault 中提取 Secret。
    • 啊 - 那么,Spring Cloud Config 是否允许我整合来自多个来源(包括保险库)的配置,而 Spring Cloud Vault 将我的配置限制为仅由保险库支持?
    • @Dany 正确。 Spring Cloud Config 的目的是集中所有微服务配置,而 Spring Cloud Vault 的目的是存储秘密。
    • 不过,Vault 可用于存储非机密(通用配置数据),那么问题仍然是额外的 Spring Cloud Config 服务器是否具有优势。
    猜你喜欢
    • 2021-08-29
    • 2018-05-21
    • 2018-01-12
    • 2018-07-25
    • 2017-06-23
    • 2018-10-02
    • 2023-01-20
    • 2017-06-29
    • 2017-08-11
    相关资源
    最近更新 更多