<强> 强>
欢迎访问南瓜慢说www.pkslow.com获取更多精彩文章!
码头工人,Kubernetes相关文章:容器技术
之前介绍了<代码>春云配置> 代码的用法,但对于<代码> Kubernetes> 代码应用,可能会需要读取<代码> ConfigMap> 代码的配置,我们看看<代码> Springboot> 代码是如何方便地读取<代码> ConfigMap 代码>和<代码>秘密> 代码。
春云Kubernetes提供了<代码>春云> 代码应用与<代码> Kubernetes 代码>服务关联,我们也可以自己写Java代码> <代码>程序来获取<代码> Kubernetes> 代码的特性,但<代码>春季> 代码又为我们做了。
2.1项目代码
引入依赖:
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.cloud & lt; artifactId> spring-cloud-starter-kubernetes-config & lt;/dependency>
只需要<代码> Springboot Web代码>和<代码>春云Kubernetes配置> 代码即可,很简单。
<代码> Springboot 代码>启动类:
@SpringBootApplication 公开课ConfigMapMain { 公共静态void main (String [] args) { SpringApplication.run (ConfigMapMain.class, args); } }<代码>
准备一个端点> 代码来展示所读到的配置信息:
@RestController 公开课PkslowController { @ value (" $ {pkslow.age: 0} ") 私人整数年龄; @ value (" $ {pkslow.email:零}") 私人字符串邮件; @ value (" $ {pkslow.webSite:零}") 私人字符串网站; @ value (" $ {pkslow.password:零}") 私人密码字符串; @GetMapping ("/pkslow”) 公共Map<字符串,String>getConfig () { String> Map<字符串;地图=new HashMap<在(); 地图。把(“时代”,age.toString ()); 地图。把(“电子邮件”,电子邮件); 地图。把网站(“网站”); 地图。(“密码”,密码); 返回地图; } }
默认是为空的,<代码> 代码>是密码从<代码> 代码>读秘密取,其它从<代码> ConfigMap> 代码读取。
应用的配置文件如下:
服务器: 端口:8080 春天: 应用程序: 名称:spring-cloud-kubernetes-configmap 云: kubernetes: 配置: 名称:spring-cloud-kubernetes-configmap
这里的<代码> spring.cloud.kubernetes.config.name> 代码是重点,后续要通过它来找<代码> ConfigMap> 代码。
加密密码:
美元echo - n“pkslow-pass”| base64 cGtzbG93LXBhc3M=
创建<代码> Kubernetes秘密> 代码:
:秘密 apiVersion: v1 元数据: 名称:spring-cloud-kubernetes-secret 名称空间:默认 数据: pkslow。密码:cGtzbG93LXBhc3M=类型:不透明的
<代码> ConfigMap> 代码的内容如下:
:ConfigMap apiVersion: v1 元数据: 名称:spring-cloud-kubernetes-configmap 名称空间:默认 标签: 应用:scdf-server 数据: 应用程序。yaml: | - pkslow: 年龄:19 电子邮件:admin@pkslow.com 网站:www.pkslow.com
要注意的是,这里的名字与前面配置的是一致的,都是<代码> spring-cloud-kubernetes-configmap> 代码。
接着完成<代码> Dockerfile 代码>和<代码> k8> 代码部署文件就可以了。注意要将秘密<代码> 代码>的值映射到环境变量:
env: ——名称:PKSLOW_PASSWORD valueFrom: secretKeyRef: 名称:spring-cloud-kubernetes-secret 关键:pkslow.password
2.2启动与测试
应用会在启动时就去<代码> Kubernetes 代码>找相应的<代码> ConfigMap 代码>和<代码>秘密> 代码:
& # 160;/\ \/___”_ _ _ _ _ _ _ # 160;__ _ \ \ \ \
(() \ ___ | ' _ | _ | | ' _ \/_ | \ \ \ \
& # 160; \ \/& # 160;___)| | _)| | | | | | | (_ | | & # 160;))))
& # 160;& # 160;__ | | .__ | _ | | _ | _ | | _ \ _ |////
Springboot整合春云Kubernetes读取ConfigMap支持自动刷新配置的教程