当前位置: 首页 > news >正文

SEATA 2.2.0使用K8S部署,使用自定义配置文件

在这里插入图片描述

今天遇到一个场景需要部署seata2.2.0,在k8s集群上,同时要使用自定义的配置文件,结果搜遍全网,都是1.5以前的版本,官方文档写的也有问题 ,按照文档操作无法成功 ,连deepseek也无法解决,最终还是靠自己试,通过变通的方法解决,特此分享给需要的同学们 。

--------------------- 原创不易,如果大家看完觉得有帮助,希望能多多点赞关注,感谢各位的支持 ----------------------

官方文档版本:文档地址

  • 按照官方文档说明,配置文件名称的环境变量
 - name: SEATA_CONFIG_NAME
   value: file:/seata-server/conf/
  • 将配置文件通过 configMap 创建
apiVersion: v1
kind: ConfigMap
metadata:
  name: seata-server-config
data:
  application.yml: |
    server:
      port: 7091
      ......
      .....
      ....
  • 并通过volumeMounts:挂载到容器上即可
     volumeMounts:
            - name: seata-config
              mountPath: /root/seata-config
      volumes:
        - name: seata-config
          configMap:
            name: seata-server-config

然并卵 !!! 我尝试把环境变量SEATA_CONFIG_NAME配置, 变成文件全路径file:/seata-server/conf/application.yml ,依然不行,不过这已经不是第一次遇到apache官网文档有问题了,通过变通的方法解决,既然不让我指定其他配置文件,那我就把原始配置文件给替换掉。

解决方案

跟上面差不多,同样是创建configmap配置,同样是挂载到容器上,不配置环境变量,通过容器启动命令行,来替换配置文件,话不多说,直接上配置:

  command: ["/bin/bash","-c"]
     args:
        - |
          chmod +x /seata-server-entrypoint.sh
          chmod +x /seata-setup.sh
          cat /seata-server/conf/application.yml > /seata-server/resources/application.yml;
          /seata-server-entrypoint.sh

PS:这里又发现官方镜像一个坑点,启动脚本默认没有可执行权限,需要手动添加,否则会执行失败。

按照这种方案,就可以实现每次启动容器先同步configmap配置内容到默认配置中,达到自定义配置文件的效果。

另外,如果我们在配置文件中,配置了seata配置中心,例如nacos,就像网上大多数文章写的那样,是不需要在服务本地的配置文件中,配置seata.store相关配置项的(其他配置项同理),如果配置中心与本地文件同时存在相同的配置,配置中心优先生效,同理如果在启动参数里面增加配置项的值,启动参数会最优先生效。

相关文章:

  • 2004-2024年光刻机系统及性能研究领域国内外发展历史、差距、研究难点热点、进展突破及下一个十年研究热点方向2025.2.27
  • 【fnOS飞牛云NAS本地部署DeepSeek-R1结合内网穿透远程访问告别服务器繁忙】
  • Java 调试模式下 Redisson 看门狗失效
  • 【Day50 LeetCode】图论问题 Ⅷ
  • fody引用c++的dll合并后提示找不到
  • 【MySQL】(1) 数据库基础
  • jQuery UI API 文档
  • Spring Boot 整合 MyBatis 与 PostgreSQL 实战指南
  • kafka-web管理工具cmak
  • GPT 与BERT的异同
  • pta天梯L1-009 N个数求和
  • 第一章:觉醒
  • 【GPU机器数据传输】Linux系统中跨机器大规模数据传输,rsync | bbcp | scp | sftp 对比。
  • Python 字典与集合:从入门到精通的全面解析
  • win10下安装wireshark的问题
  • C#中使用System.Net库实现自动发送邮件功能
  • 汽车v型推力杆总成三维5自由度性能及疲劳测试系统
  • Python解决“比赛配对”问题
  • 进程 ─── linux第10课
  • easyx--上半部分
  • 注册完域名 如何做网站/哪些平台可以做推广
  • 天津网站建设市场/深圳百度推广电话
  • 拍摄网/厦门seo排名
  • 合肥网站设计建/seo外包收费
  • 美国新闻网站app/西安今天出大事
  • 信誉好的徐州网站建设/查销售数据的网站