ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用Configmap 配置 springboot的application.yaml文件的方式部署环境的方法

2021-12-05 01:32:43  阅读:254  来源: 互联网

标签:Configmap name configmap 部署 application yaml deployment springboot


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,name,configmap,部署,application,yaml,deployment,springboot
来源: https://www.cnblogs.com/jinanxiaolaohu/p/15643937.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有