使用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可使用 ...
随机推荐
- 面对 Log4j2 漏洞,安全人都做了什么?
摘要:本文从漏洞复现.漏洞防护.漏洞检测.软件供应链安全等方面,介绍安全人针对该漏洞做的尝试. 本文分享自华为云社区<面对 Log4j2 漏洞,安全人都做了什么?>,作者:maijun. ...
- 总结MySQL 的一些知识点:MySQL 插入数据
MySQL 插入数据 MySQL 表中使用INSERT INTOSQL语句来插入数据. 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 语法 以下为向 ...
- 脑机接口 | 面向步态&神经电生理研究的非人灵长类模型与系统
近期,海南大学生物医学工程学院脑机芯片神经工程团队在Frontiers in Neuroscience期刊上发表了题为<面向步态&神经电生理研究的非人灵长类模型与系统>的学术论文. ...
- xv6book阅读 chapter2
一个操作系统至少应该满足三个需求:多路复用.隔离.交互.本章主要介绍如何组织操作系统来实现以上的三个需求,本文关注的是一种围绕单核进行设计的方法,这种设计是被许多uinx操作系统所使用的.Xv6运行在 ...
- 【Django drf】序列化器总结
目录 序列化器字段 外键字段自定义序列化 在模型类中写方法 在序列化类中写方法 反序列化 外键字段反序列化保存 ModelSerializer使用总结 序列化器字段 序列化中的字段可以根据用途分为三种 ...
- display:none和overflow:hidden的区别
1.display:none 当将一个元素的display属性设置为none时,该元素将不会显示在网页中,并且不会占据任何空间.也就是说,该元素会完全隐藏,其他的元素会立即占据它原来的位置.该属性适用 ...
- Go--字符串函数
示例: package main import ( "fmt" "strings" ) func main() { //strings.Contains(): ...
- 【3rd Party】Cpp 中使用 Protobuf
前置条件: [Protoc]VS2019 (VS平台) 使用 CMake 编译安装.使用 Protobuf 库 [ToolChains]CLion(VS2019) + CMake + Vcpkg 的使 ...
- S3C2440移植linux3.4.2内核之支持YAFFS文件系统
上一节S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统我们构建了根文件系统,这节我们修改内核支持yaffs2文件系统 目录 获取yaffs2源码并给内核打补丁 编译内核make ...
- uni-app打包到安卓步骤
1.打包到安卓 https://www.bilibili.com/video/BV1BJ411W7pX?p=56 2.打包到IOS https://www.jianshu.com/p/ef6e6e01 ...