第 11 章 将 Spring Boot 与 Kubernetes 集成


Spring Cloud Kubernetes 插件目前允许您集成 Spring Boot 和 Kubernetes 的以下功能:

11.1. Spring Boot 外部配置

在 Spring Boot 中,外部化配置 是允许您将来自外部来源的配置值注入 Java 代码的机制。在您的 Java 代码中,注入通常由 @Value 注释标注(注入到单个字段)或 @ConfigurationProperties 注释(注入到 Java Bean 类上的多个属性)启用。

配置数据可能来自各种不同源(或 属性源)。特别是,在项目的 application.properties 文件中(或 application.yaml 文件)中设置配置属性。

11.1.1. Kubernetes ConfigMap

Kubernetes ConfigMap 是一种可为已部署的应用提供配置数据的机制。ConfigMap 对象通常在 YAML 文件中定义,然后上传到 Kubernetes 集群,使配置数据可供部署的应用程序使用。

11.1.2. Kubernetes Secret

Kubernetes 机密 是一种向已部署的应用提供敏感数据(如密码、证书等)的机制。

11.1.3. Spring Cloud Kubernetes 插件

Spring Cloud Kubernetes 插件实现了 Kubernetes 和 Spring Boot 之间的集成。在原则上,您可以使用 Kubernetes API 从 ConfigMap 访问配置数据。但是,更方便,您可以将 Kubernetes ConfigMap 直接与 Spring Boot 外部化配置机制集成,以便 Kubernetes ConfigMap 作为 Spring Boot 配置的替代属性源。这基本上是 Spring Cloud Kubernetes 插件提供的。

11.1.4. 使用 Kubernetes 集成启用 Spring Boot

您可以通过在 pom.xml 文件中添加作为 Maven 依赖项来启用 Kubernetes 集成。

流程

  1. 通过在 Spring Boot Maven 项目的 pom.xml 文件中添加以下 Maven 依赖项来启用 Kubernetes 集成。

    <project ...>
      ...
      <dependencies>
        ...
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-kubernetes-config</artifactId>
        </dependency>
        ...
      </dependencies>
      ...
    </project>
    Copy to Clipboard Toggle word wrap
  2. 完成集成,

    • 在您的 Java 源代码中添加一些注解
    • 创建 Kubernetes ConfigMap 对象
    • 修改 OpenShift 服务帐户权限,以便您的应用程序可以读取 ConfigMap 对象。

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat