Seata-Server在Kubernetes环境部署注册中心IP地址问题的解决策略

1. 问题阐述

在使用Kubernetes(K8s)环境进行Seata-Server服务部署的过程中,出现了一个重要问题:在Nacos上注册的IP地址实际为K8s实例的地址,而非预期的负载地址。此种配置误差导致客户端在尝试连接服务端时,会错误地访问到实例地址,而不是预期的服务端,从而出现Seata无法连接服务端的问题。

2. 初步解决尝试与遭遇的挑战

在最初使用Seata 1.4.2版本的过程中,根据官方提供的建议,尝试在启动命令行中添加-h参数以及其后的IP地址,以便改变注册中心的注册IP地址。虽然这种解决方案在本地环境测试时表现良好,但在将服务部署到K8s环境时,发现Nacos的IP地址并未发生改变。

3. 解决方案及实施步骤

为解决此问题,采取了新的策略,即使用了一个官方提供的高版本Docker镜像,版本号为1.7-SNAPSHOT-slim。根据官方文档,此版本镜像允许通过环境变量SEATA_IP来改变注册中心的IP地址。

然而,此Docker镜像在启动时默认加载官方预设的配置文件,这并不能适用于所有用户需求。因此,依据官方的自定义配置建议,进行了以下步骤:

  • 将Docker镜像中的/seata-server/resources文件夹复制出来

  • 对其中的application.yml文件进行修改

    server:
    port: 7091
    ​
    spring:
    application:
      name: seata-server
    ​
    logging:
    config: classpath:logback-spring.xml
    file:
      path: ${user.hom
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值