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文件的方式部署环境的方法的更多相关文章

  1. Springboot 报application.properites文件找不到的解决方法

        部署项目遇到了找不到application.properties的问题.网上搜了找不到答案,后面经过测试发现,问题在于clean了maven之后,target包还没删除,所以编译的时候才会出现 ...

  2. SpringBoot读取application.properties文件

    http://blog.csdn.net/cloume/article/details/52538626 Spring Boot中使用自定义的properties Spring Boot的applic ...

  3. springboot中对yaml文件的解析

    一.YAML是“YAML不是一种标记语言”的外语缩写 (见前方参考资料原文内容):但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名.它是一种直观的能够被电脑识别的数据序列化 ...

  4. springboot读取静态资源文件的方式

    springboot的请求路径一般会经过Controller处理,但是静态资源文件在请求之后是直接返回的.这涉及到俩个配置项. spring.mvc.static-path-pattern=/** s ...

  5. SpringBoot读取application.properties文件内容

    application.properties存储数据的方式是key-value. application.properties内容 userManager.userFile=data/user.pro ...

  6. 【IntelliJ Idea】启动参数JVM参数的配置 优先级高于 application.yaml/application.properties中的配置,前者可以覆盖后者的配置

  7. SpringBoot的读取properties文件的方式

    转载:https://www.imooc.com/article/18252一.@ConfigurationProperties方式 自定义配置类:PropertiesConfig.java pack ...

  8. [SpringBoot] 使用yaml文件实现多配置

    SpringBoot 使用yaml文件实现多配置 SpringBoot利用yaml文件实现多配置有两种方式: 单个yml中编写多个配置(Multi-profile YAML Documents) 编写 ...

  9. SpringBoot系列之YAML配置用法

    1.全局配置 SpringBoot的全局配置文件有两种: application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认值,主要是 ...

  10. springboot区分开发、测试、生产多环境的应用配置

    转:https://blog.csdn.net/daguairen/article/details/79236885 springboot区分开发.测试.生产多环境的应用配置(一) Spring可使用 ...

随机推荐

  1. 移动应用中的第三方SDK隐私合规检测,早知道

    摘要: 在移动应用隐私合规检测中,第三方SDK隐私声明由于其展现位置展现形式的多样性,自动化提取与解析是比较困难的任务. 本文分享自华为云社区<移动应用中的第三方SDK隐私合规检测>,作者 ...

  2. linux centos8 安装php nginx mysql 运行phpcms网站

    重新换vps,用centos8,重新配置系统环境,记下笔记: 安装nginx与php 首先安装nginx php ,安装默认版本的nginx,php默认安装7 yum install nginx ph ...

  3. Appuploader工具让ipa上传到App Store 的最新流程和步骤

    ​ 苹果官方提供的工具xcode上架ipa非常复杂麻烦.用appuploader 可以在 mac 和windows 上制作管理 证书 ,无需钥匙串工具 条件:1.以Windows为例,创建app打包i ...

  4. Kubernetes(K8S) Controller - StatefulSet、DaemonSet 介绍

    无状态和有状态 无状态 Deployment 认为Pod 都是一样的.javademo1-6fb64c4664-dj4dh.javademo1-6fb64c4664-dj54s 它们的内容是一样的. ...

  5. Windows 2016 安装 Docker

    打开 PowerShell Windows PowerShell 版权所有 (C) 2016 Microsoft Corporation.保留所有权利. PS C:\Users\Administrat ...

  6. 【django-Vue】项目day01 pip永久换源 虚拟环境搭建 项目前后端创建 项目目录调整

    目录 昨日回顾 1 企业项目类型 2 企业项目开发流程 3 路飞项目需求 4 pip永久换源 5 虚拟环境搭建 5.1 使用pycharm创建虚拟环境 5.2 通用方案创建虚拟环境 6 luffy项目 ...

  7. 【源码系列#06】Vue3 Diff算法

    专栏分享:vue2源码专栏,vue3源码专栏,vue router源码专栏,玩具项目专栏,硬核推荐 欢迎各位ITer关注点赞收藏 Vue2 Diff算法可以参考此篇文章[Vue2.x源码系列08]Di ...

  8. AtCoder Beginner Contest 185 题解

    A - ABC Preparation 排序找出最小值 int main() { ios_base::sync_with_stdio(false), cin.tie(0); vector<int ...

  9. 题解 [HDU 6745] Dec (简单DP)

    来源:2020 年百度之星·程序设计大赛 - 初赛一 错误想法带来错的代码, 为什么一个简单DP题能被我想成复杂的贪心啊?? 初始有 \(a,b\) 两个正整数,每次可以从中选一个大于 1 的数减 1 ...

  10. L3-001. 凑零钱-PAT团体程序设计天梯赛GPLT(01背包,动态规划)

    韩梅梅喜欢满宇宙到处逛街.现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债.韩梅梅手边有 104 枚来自各个星球的硬币,需要请你帮她盘算一下 ...