第 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 集成。
流程
通过在 Spring Boot Maven 项目的 pom.xml 文件中添加以下 Maven 依赖项来启用 Kubernetes 集成。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 完成集成,
- 在您的 Java 源代码中添加一些注解
- 创建 Kubernetes ConfigMap 对象
- 修改 OpenShift 服务帐户权限,以便您的应用程序可以读取 ConfigMap 对象。
其他资源
- 如需了解更多详细信息,请参阅为 ConfigMap 属性源运行教程。