使用Configmap 配置 springboot的application.yaml文件的方式部署环境的方法
Configmap部署k8s下Springboot服务的办法
前提
- 日常工作中需要使用k8s部署微服务环境, 但是内部的数据库连接和redis等连接非常麻烦,使用helm chart 进行变量替换时非常繁琐,要求也比较高.
- 与同事沟通发现可以使用configmap的方式进行替换,内部文件, 最近进行了实验,总结如下.
获取配置文件
- 使用产品在需要部署的环境下,或者是客户现场进行修改
修改redis的配置信息, 主要是 host port password 等.
修改rabbitmq等的信息,主要是 host password 以及virtual_host等.
修改数据库连接信息, 建议使用 tools/setup的方式进行注册,避免异常.
- 修改好注册好后,放到特定目录备用.
重建configmap
- 注意congfigmap的方式有多种,这里因为仅是进行文件替换,所以选择from file的方式.
kubectl create configmap appconfig --from-file=application.yaml
注意创建完成后可以使用
kubectl get configmap dappconfig -o yaml
的方式进行查看.
修改部署服务的deployment 配置节
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: test
name: test-deployment
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
spec:
containers:
- image: images:tag
volumeMounts:
- mountPath: /yourapp/server/runtime/application.yaml
name: dapplication
subPath: application.yaml
ports:
- containerPort: 5200
name: igix
volumes:
- name: application
configMap:
name: appconfig
修改部署服务的deployment 配置节
- 注意需要在 volumeMounts 内添加描述信息
- name 必须与创建的configmap 名字保持一致.
- mountPath 指向的你要使用configmap替换的具体的配置文件.
- subPath 需要执行需要替换的文件名, 如果不输入会报错,
- volumes 里面需要添加 configMap的配置信息, 注意需要与 定义的configmap保持一致.
部署deployment 然后部署serveice 使用nodePort的方式验证即可.
- 使用configmap 比较简单, 避免变量替换, 可以省下很多时间.
使用Configmap 配置 springboot的application.yaml文件的方式部署环境的方法的更多相关文章
- Springboot 报application.properites文件找不到的解决方法
部署项目遇到了找不到application.properties的问题.网上搜了找不到答案,后面经过测试发现,问题在于clean了maven之后,target包还没删除,所以编译的时候才会出现 ...
- SpringBoot读取application.properties文件
http://blog.csdn.net/cloume/article/details/52538626 Spring Boot中使用自定义的properties Spring Boot的applic ...
- springboot中对yaml文件的解析
一.YAML是“YAML不是一种标记语言”的外语缩写 (见前方参考资料原文内容):但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名.它是一种直观的能够被电脑识别的数据序列化 ...
- springboot读取静态资源文件的方式
springboot的请求路径一般会经过Controller处理,但是静态资源文件在请求之后是直接返回的.这涉及到俩个配置项. spring.mvc.static-path-pattern=/** s ...
- SpringBoot读取application.properties文件内容
application.properties存储数据的方式是key-value. application.properties内容 userManager.userFile=data/user.pro ...
- 【IntelliJ Idea】启动参数JVM参数的配置 优先级高于 application.yaml/application.properties中的配置,前者可以覆盖后者的配置
- SpringBoot的读取properties文件的方式
转载:https://www.imooc.com/article/18252一.@ConfigurationProperties方式 自定义配置类:PropertiesConfig.java pack ...
- [SpringBoot] 使用yaml文件实现多配置
SpringBoot 使用yaml文件实现多配置 SpringBoot利用yaml文件实现多配置有两种方式: 单个yml中编写多个配置(Multi-profile YAML Documents) 编写 ...
- SpringBoot系列之YAML配置用法
1.全局配置 SpringBoot的全局配置文件有两种: application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认值,主要是 ...
- springboot区分开发、测试、生产多环境的应用配置
转:https://blog.csdn.net/daguairen/article/details/79236885 springboot区分开发.测试.生产多环境的应用配置(一) Spring可使用 ...
随机推荐
- 如何使用appuploader制作描述文件
如何使用appuploader制作描述文件 承接上文我们讲述了怎么制作证书,本文我们来看下怎么制作描述文件吧.制作描述文件前我们首先我们来添加一个测试设备,后面再制作描述文件. 1.添加测试设备 ...
- 火山引擎 DataTester:“在字节,A/B 实验是一种信仰”
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 进入数字经济时代,要用数据驱动业务增长已经成为各个行业的共识,但很多企业还没能真正掌握这项能力.如何最大限度转化数据价值, ...
- SpringBoot Docker Skywalking agent 不生效
SpringBoot Skywalking agent 通过 Dockfile 配置 不生效 ENTRYPOINT ["java","-Djava.security.eg ...
- 32. 干货系列从零用Rust编写正反向代理,关于堆和栈以及如何解决stack overflow
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...
- 你不知道的vue3:使用runWithContext实现在非 setup 期间使用inject
前言 日常开发时有些特殊的场景需要在非 setup 期间调用inject函数,比如app中使用provide注入的配置信息需要在发送http请求时带上传给后端.对此我们希望不在每个发起请求的地方去修改 ...
- maven 强制使用本地仓库
pom 文件添加如下内容: <repositories> <repository> <id>alimaven</id> <name>aliy ...
- 将应用程序注册为Linux系统服务,并设置开机自启动
1.新建服务文件 vim /usr/lib/systemd/system/statagent.service 其中statagent是自定义的服务名称 2.文件内容 [Unit] Descriptio ...
- 【动态规划】动态规划基础 (OI wiki)
文章来自 OI wiki ,转载仅作学习使用 动态规划应用于子问题重叠的情况: 要去刻画最优解的结构特征: 尝试递归地定义最优解的值(就是我们常说的考虑从 \(i - 1\) 转移到 \(i\)): ...
- 体验函数计算 FC 3.0,写测评赢取索尼头戴式耳机
11月1日云栖大会,函数计算3.0全新升级,相对函数计算2.0,3.0版本突出易用性.高弹性,并且可以和更多阿里云服务无缝集成.业内首发神龙 Serverless GPU 架构,冷启动大幅优化,全链路 ...
- Vue3使用vue-video-player组件
1.安装依赖(亲测5.0.1版本可用,最新版本会找不到'vue-video-player/src/custom-theme.css'这个样式) yarn add vue-video-player@5 ...