使用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可使用 ...
随机推荐
- MRS +Apache Zeppelin,让数据分析更便捷
摘要:选择轻量化.免运维.低成本的大数据云服务是业界趋势,如果搭建Zeppelin再同步自建一套Hadoop生态成本太高!因此我们通过结合华为云MRS服务构建数据中台. 本文分享自华为云社区<M ...
- Google 发布:DevOps 2022现状报告
在过去的八年中,全球超过 33,000 名专业人士参与了Accelerate State of DevOps 调查,使其成为同类研究中规模最大.运行时间最长的一项.Accelerate State o ...
- Kubernetes(K8S) yaml 介绍
使用空格做为缩进 缩进的空格数目不重要, 只要相同层级的元素左侧对齐即可 低版本缩进时不允许使用 Tab 键, 只允许使用空格 使用#标识注释, 从这个字符一直到行尾, 都会被解释器忽略 --- 使用 ...
- Java异步编程详解
在现代应用程序开发中,异步编程变得越来越重要,特别是在处理I/O密集型任务时.Java提供了一套强大的异步编程工具,使得开发者能够更有效地处理并发任务.本篇博文将深入探讨Java中异步编程的方方面面, ...
- vivo 悟空活动中台 - H5 活动加载优化
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/6gtVR0nVNcZvREjwftZgzA作者:悟空中台研发团队 [悟空活动中台]系列往期精 ...
- vivo 全球商城:订单中心架构设计与实践
一.背景 随着用户量级的快速增长,vivo 官方商城 v1.0 的单体架构逐渐暴露出弊端:模块愈发臃肿.开发效率低下.性能出现瓶颈.系统维护困难. 从2017年开始启动的 v2.0 架构升级,基于业务 ...
- vue 状态管理 四、Action用法
系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...
- 【Git】常用 Git 命令清单
[来源]https://blog.csdn.net/hj7jay/article/details/53431717
- JS - HTML精确定位
scrollHeight: 获取对象的滚动高度. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最 ...
- JS - 递归实现无限分类
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...