第 9 章 将 Spring Boot 与 Kubernetes 集成


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

9.1. Spring Boot Externalized 配置

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

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

9.1.1. Kubernetes ConfigMap

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

9.1.2. Kubernetes Secret

Kubernetes Secret 是为部署的应用程序提供敏感数据(如密码、证书等)的机制。

9.1.3. Spring Cloud Kubernetes Plug-In

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

9.1.4. 启用带有 Kubernetes 集成的 Spring Boot

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

流程

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

    <project ...>
      ...
      <dependencies>
        ...
        <dependency>
          <groupId>io.fabric8</groupId>
          <artifactId>spring-cloud-kubernetes-core</artifactId>
        </dependency>
        ...
      </dependencies>
      ...
    </project>
  2. 要完成集成,

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

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.