K8S 部署 seata

这篇具有很好参考价值的文章主要介绍了K8S 部署 seata。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


官方文档

k8s中volumeMounts.subPath的巧妙用法

 

创建 Deployment 文件

deploymemt.yaml

  • namespace:指定命名空间
  • image:使用 1.5.2 版本的镜像
  • ports:暴露 8091 和 7091 端口
  • volumeMounts:容器中的存储
  • mountPath: 存储路径
  • subPath:指定出具体文件
  • volumes:pod 存储
  • configMap.name:对应 configMap 文件的 metadata. name
apiVersion: apps/v1
kind: Deployment
metadata:
  name: seata-server
  namespace: common
  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-7091
              containerPort: 7091
              protocol: TCP
            - name: http-8091
              containerPort: 8091
              protocol: TCP
          volumeMounts:
            - name: seata-config
              mountPath: /seata-server/resources/application.yml
              subPath: application.yml
      volumes:
        - name: seata-config
          configMap:
            name: seata-server-config

 

创建 ConfigMap 文件

configmap.yaml
映射 application.yml 文件,例子使用 seata 原始配置文件

apiVersion: v1
kind: ConfigMap
metadata:
  name: seata-server-config
  namespace: common
data:
  application.yml: |
    server:
      port: 7091

    spring:
      application:
        name: seata-server

    logging:
      config: classpath:logback-spring.xml
      file:
        path: ${user.home}/logs/seata
      extend:
        logstash-appender:
          destination: 127.0.0.1:4560
        kafka-appender:
          bootstrap-servers: 127.0.0.1:9092
          topic: logback_to_logstash

    console:
      user:
        username: seata
        password: seata

    seata:
      config:
        # support: nacos, consul, apollo, zk, etcd3
        type: file
      registry:
        # support: nacos, eureka, redis, zk, consul, etcd3, sofa
        type: file
      store:
        # support: file 、 db 、 redis
        mode: file
    #  server:
    #    service-port: 8091 #If not configured, the default is '${server.port} + 1000'
      security:
        secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017
        tokenValidityInMilliseconds: 1800000
        ignore:
          urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login

 

创建 Service 文件

service.yaml
对外暴露 NodePort 端口

apiVersion: v1
kind: Service
metadata:
  name: seata-server
  namespace: common
  labels:
    k8s-app: seata-server
spec:
  type: NodePort
  ports:
    - port: 8091
      nodePort: 30893
      protocol: TCP
      name: seata-8091
    - port: 7091
      nodePort: 30793
      protocol: TCP
      name: seata-7091
  selector:
    k8s-app: seata-server

 

运行

kubectl apply -f deployment.yaml
kubectl apply -f configmap.yaml
kubectl apply -f service.yaml

 

访问

访问 ip:30793 即可访问 seata
默认账号:seata
默认密码:seata

K8S 部署 seata
 

高可用部署

修改 configmap 映射的 application.yml 文件

  • seata.config:配置 seata 配置文件路径
  • seata.registry:配置 seata 注册地址
seata:
  config:
    type: nacos
    nacos:
      server-addr: nacosIp:port
      namespace: seata
      group: dev
      username: nacos
      password: nacos
      data-id: seata-dev.yml
  registry:
    type: nacos
    nacos:
      application: seata-server
      server-addr: nacosIp:port
      group: dev
      namespace: seata
      cluster: default
      username: nacos
      password: nacos

deployment 添加多个 pod
K8S 部署 seata

成功注册上 nacos
K8S 部署 seata

 

踩坑

  • 问题:按照官方文档 Seata 高可用部署,镜像使用 1.5.0 及以上的版本时,seata 无法正常注册到 nacos
    解决办法:镜像使用 1.4.2 版本

  • 问题:使用 1.4.2 版本版本后,高可用还是有问题,nodeport 暴露后无法访问
    解决办法:使用本文部署文章来源地址https://www.toymoban.com/news/detail-452573.html

到了这里,关于K8S 部署 seata的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 保姆级 ARM64 CPU架构下安装部署Docker + rancher + K8S 说明文档

    K8S是Kubernetes的简称,是一个开源的容器编排平台,用于自动部署、扩展和管理“容器化(containerized)应用程序”的系统。它可以跨多个主机聚集在一起,控制和自动化应用的部署与更新。 K8S 架构 Kubernetes 主要由以下几个核心组件组成: etcd 保存了整个集群的状态; apiserv

    2024年01月21日
    浏览(50)
  • k8s官方镜像代理加速

    背景 大家可能在云原生领域需要部署周边的一些生态组件时,在国内遇到无法正常拉取镜像,显得就有点苦恼,不过没关系,常见的${{ registry_name }} 例如 “gcr.io”,“registry.k8s.io” Failed to pull image “registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.11.2”: rpc error: code = Unknown desc

    2024年02月01日
    浏览(27)
  • k8s学习整理文档

    ‍ ‍ 最低配置要求: 2 核虚拟 CPU 4 GB 内存 20 GB 储存空间 X 4 台 (三台集群,一台镜像仓库服务器) 由于搭建网络需要,同时要让各个主机互通,因此这里需要对云服务器设置专门的网络(同时也需要开放服务器对应的公网 IP) 在云服务器厂商中,创建 VPC 网络,网段为:

    2024年02月22日
    浏览(29)
  • K8S单机部署-01.单机部署K8S

    转载请注明出处 K8S单机部署-00.旧版本卸载 K8S单机部署-01.单机部署K8S K8S单机部署-02.Kuboard面板部署 K8S单机部署-03.验证K8S的第一个Deployment K8S单机部署-04.NFS服务器搭建 K8S单机部署-05.静态持久化之PV、PVC(基于NFS) K8S单机部署-06.动态持久化StorageClass(基于NFS) K8S单机部署-07.调整

    2024年04月24日
    浏览(31)
  • K8s进阶之路-安装部署K8s

    参考:(部署过程参考的下面红色字体文档链接就可以,步骤很详细,重点部分在下面做了标注)  安装部署K8S集群文档: 使用kubeadm方式搭建K8S集群 · GitBook 本机: master:10.0.0.13 master            node1: 10.0.0.11 node1            node2: 10.0.0.12 node2 #systemctl stop firewalldsy

    2024年02月22日
    浏览(39)
  • k8s入门:裸机部署 k8s 集群

    系列文章 第一章:✨ k8s入门:裸机部署 k8s 集群 第二章:✨ k8s入门:部署应用到 k8s 集群 第三章:✨ k8s入门:service 简单使用 第四章:✨ k8s入门:StatefulSet 简单使用 第五章:✨ k8s入门:存储(storage) 第六章:✨ K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间 第七章:

    2023年04月20日
    浏览(38)
  • k8s 入门到实战--部署应用到 k8s

    k8s 入门到实战 01.png 本文提供视频版: 最近这这段时间更新了一些 k8s 相关的博客和视频,也收到了一些反馈;大概分为这几类: 公司已经经历过服务化改造了,但还未接触过云原生。 公司部分应用进行了云原生改造,但大部分工作是由基础架构和运维部门推动的,自己只

    2024年02月09日
    浏览(31)
  • K8S:K8S部署常见错误及解决方法

    目录 1、node节点kubelet服务起不来 2、安装cni网络插件时 kubectl get node master和node一直noready①有延时,需要等待10分钟左右,超过15分钟则有问题 3、部署报错kubectl get nodes No resources found 4、k8s部署报错error:kubectl get csr No resources found 问题:node节点kublet起不来服务器内存资源不足

    2024年02月09日
    浏览(36)
  • K8s 部署 CNI 网络组件+k8s 多master集群部署+负载均衡

    ------------------------------ 部署 CNI 网络组件 ------------------------------ ---------- 部署 flannel ---------- K8S 中 Pod 网络通信: ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器(Pod 内的容器是不会跨宿主机的)共享同一个网络命名空间,相当于它们在同一台机器上一样,可以用 lo

    2024年02月08日
    浏览(37)
  • K8S二进制部署详解,一文教会你部署高可用K8S集群

    Pod网段: 10.0.0.0/16 Service网段: 10.255.0.0/16 集群角色 ip 主机名 安装组件 控制节点 10.10.0.10 master01 apiserver、controller-manager、scheduler、etcd、docker、keepalived、nginx 控制节点 10.10.0.11 master02 apiserver、controller-manager、scheduler、etcd、docker、keepalived、nginx 控制节点 10.10.0.12 master03 apiser

    2024年04月28日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包