[seata]1.5.2版本 Kubernetes部署如何指定环境变量

2024-07-05 982 views
5

公司之前用的是1.4.2版本 ack部署 可以通过 SEATA_CONFIG_NAME 参数指定环境变量 从而使seata-server连接nacos

现在升级1.5.2版本 使用基础镜像是 docker.io/seataio/seata-server:1.5.2 发现 seata-server结构变了 没有registry.conf文件了 变成了application.yml来进行配置了 我这边怎么处理比较好 我看运帷指南里面还没有1.5+的文档 现在还是旧的部署方式 http://seata.io/zh-cn/docs/ops/deploy-by-kubernetes.html

还请大佬们赐教啊

回答

1

JAVA_OPTS 可以设置所有的变量,但是这个可能会有点长。。。。。

而且还要看一下,不要和运行态 的参数重了。。。。

6

同顶,文档不更新..

8

同问,升级到1.5.2之后,配置方式发生了改变,但是官方文档没更新,现在seata注册不到nacos,

9

这个太坑了,试了一下午,原来是文档没更新。 知道原因就好解决了,可以把configMap中的registry.conf换成application.yml,然后参考源码server下面的配置文件配置。 创建seata-server的deployment时,把这个configMap下的application.yml挂载到/seata-server/application.yml。由于它位于seata-server的启动目录下,根据springboot的配置文件加载顺序,这下面的application.yml优先级要高于resources下面的,所以这里面的配置项会覆盖默认的。

9

有没有更好的解决方案额 难受死了

3

咋样了兄弟 有测试结果了记得贴上来啊

1

image

只不过我代码没有真正的测试他是否可用。但是看到确实是注册到nacos中了

7

这周吧,我测试一下。看看是否是真正的分布式事务起作用了。但是与你的版本不一样我是使用的 1.5.1的版本。

8

应该还好 大版本一样就差不多

8

好的,我尽快测试一下吧!你要是着急。你自己可以部署起来测一下分布式事务,验证一下我部署的是否有问题啊!

4

这两天本想搞seata来着,没想到 nacos又出了点问题: helm 部署 nacos2.1.0或k8s部署的 代码不能访问,ui可以访问! 索性本人已经解决了! https://github.com/alibaba/nacos/issues/9075

接下来测试分布式事务!

@GuoRanYiMao

耽误了点时间,等我测试好,会贴出来!

0

这个方式是有问题的,我这边通过上述所说无法成功跟nacos进行通信,默认调用镜像中自带的application.yml

8

我用了这种方式,是可以的,大家可以试试

apiVersion: apps/v1
kind: Deployment
metadata:
  name: seata-server
  namespace: xx
  labels:
    k8s-app: seata-server
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: seata-server
  template:
    metadata:
      labels:
        k8s-app: seata-server
    spec:
      containers:
        - name: seata-server
          image: docker.io/seataio/seata-server:1.5.2
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              containerPort: 7091
              protocol: TCP
          volumeMounts:
            - name: seata-config
              mountPath: /seata-server/resources/application.yml
              subPath: application.yml
      volumes:
        - name: seata-config
          configMap:
            name: seata-server-config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: seata-server-config
data:
  application.yml: |
    server:
      port: 7091
    spring:
      application:
          name: seata-server

    logging:
      config: classpath:logback-spring.xml

    console:
      user:
        username: seata
        password: seata

    seata:
      security:
        secretKey:
        tokenValidityInMilliseconds: 1800000
      config:
        type: nacos
        nacos:
          server-addr: xxxx
          namespace: seata
          group: SEATA_GROUP
          data-id: seataServer.properties
      registry:
        type: nacos
        nacos:
          application: seata-server
          server-addr: xxxx
          group: SEATA_GROUP
          namespace: seata