tarsdocs
  • Readme.md
  • CLA
  • LICENSE
  • 基础介绍
    • 简介
    • 基础概念
    • 基础通信协议 Tars
    • 统一通信协议 Tup
    • 开发模式介绍
    • 模板配置
    • 服务市场
    • 服务扩展
    • 框架版本说明
  • 开源版框架介绍
    • 开源版本部署
      • 部署总体介绍
      • Docker环境安装
      • Mysql安装
      • 框架源码部署(Linux/Mac)
      • 框架源码部署(Windows)
      • 框架Docker部署
      • 框架节点部署
      • 业务服务容器化
      • 框架K8SDocker 部署
      • 框架K8STARS 部署
      • 框架K8SFramework 部署(强烈推荐)
      • 框架更新及扩容
      • 调用链升级注意事项
      • TarsWeb-v3.0.3升级说明
    • 开源版管理平台
      • TarsWeb说明
      • web用户体系
      • web管理平台 API
  • 企业版本介绍
    • 企业版说明
    • 框架集群化机制
    • 框架单节点机制
    • 使用二进制包部署
    • 使用容器部署
    • 业务服务一主多备机制
    • 命令行控制终端
    • IP-LIST级联缓存机制
    • 多数据中心管理
    • 多网络支持
    • 第三方服务管理
    • 数据产生和管理机制
    • 密码重置
    • TarsPython介绍
  • 框架关键特性
    • 业务配置
    • 服务监控
    • 无损发布/重启
    • 调用链
    • IDC分组
    • 鉴权功能
  • TarsCPP
    • 编译
    • 快速开发入门
    • 使用指南
    • 开发规范
    • 服务线程说明文档
    • protobuf 协议支持文档
    • 第三方协议支持
    • HTTP1 支持
    • HTTP2 支持
    • TLS 通信支持
    • Push 功能说明
    • PushCallback 功能说明
    • Cookie 支持
    • 队列模式
    • 手动绑定
    • 性能数据
    • 2.x 版本变化
    • 3.x 版本变化
    • 协程版本说明
    • 基础类库说明
    • [案例]
      • 框架快速入门
      • Http 服务示例
  • TarsJava
    • 快速开始
    • 快速开发入门
    • [使用指南]
      • Tars 服务开发与上线
      • HTTP 服务开发与上线
      • 生成接口调用文件
    • [性能测试]
      • tars java 压测代码
  • TarsGo
    • 基本介绍
    • 快速开始
    • 使用指南
    • cmake 管理代码
    • pb2tarsgo
    • 性能数据
    • 使用示例
  • TarsPHP
    • 搭建 php 环境
    • 快速开发入门
    • [快速起步]
      • 搭建 HttpServer
      • 搭建 TimerServer
      • 搭建 TcpServer
      • 搭建 WebSocketServer
      • 弹幕活动实战
    • [框架简介]
      • 简介
      • tars-server
      • tars-client
      • tars-config
      • tars-deploy
      • tars-extension
      • tars-log
      • tars-monitor
      • tars-registry
      • tars-report
      • tars-utils
      • tars2php
    • [高阶应用]
      • PHP 的 Swoole 框架如何接入 Tars
      • 与 thinkphp 结合使用
      • 与 Swoft 结合使用
      • 与 Laravel 结合使用
      • 与 Yii2 结合使用
      • 持续集成方案
    • [其他]
      • 常见问题
      • 如何 Debug
      • changelog
      • 其他外部文档
  • Tars.js
    • 基本介绍
    • 脚手架
    • 快速开发入门
    • @tars/stream
    • @tars/rpc
    • @tars/logs
    • @tars/config
    • @tars/monitor
    • @tars/notify
    • @tars/utils
    • @tars/dyeing
    • @tars/node-agent
    • @tars/winston-tars
    • tars2node
  • K8SFramework
    • [安装和使用说明]
      • 介绍
      • 特性
      • 安装
      • 升级
      • 云原生运维
      • 管理平台
      • 证书
    • [开发环境构建]
      • Dockerfile 说明
      • 服务发布流程说明
      • 制作基础编译镜像
      • 制作业务服务镜像
      • 制作 Helm 包
      • 发布业务镜像到 K8S 集群
      • 服务发布示例
      • 如何调试业务服务
  • 服务扩展
    • 云告警
    • 接口及压测工具
    • 网关服务
    • dcache缓存服务
    • 发送邮件服务
    • 一致性存储服务
    • 一致性存储web管理平台
    • 唯一计数服务
  • 常见问题
    • 安装常见问题
    • Issues
    • Issues-tarscpp
    • Issues-tarsjava
    • Issues-tarsgo
    • Issues-tarsphp
  • 开源合作
    • TarsFramework 项目 Git 合作规范
  • 直播视频
    • B 站 TARS 培训系列课程
  • 相关文章
    • TARS 技术文章
  • 其它资源分享
    • 下载
    • Tars 介绍.pptx
    • TarsPHP 解密.pdf
    • TarsJava 本地调试.pdf
    • 微服务在腾讯的业务实践.pptx
Powered by GitBook
On this page
  • 安装说明
  • 启动框架
  • 示例
  • 增加节点

Was this helpful?

  1. 企业版本介绍

使用容器部署

使用容器方式完成tars企业版本框架的安装.

安装说明

  • 正常情况下, 需要选取2n+1节点服务器, 从而完成框架组件的容灾;

  • 如果有需要, 也可以在同一个服务器上安装三次, 每次安装在不同目录, 使用不同的节点名称;

启动框架


docker run -d --net=host --restart=always \
    -e TARS_OPEN_FRAMEWORK=true \
    -e TARS_LOCATOR="tcp -h $ip1 -p $port1:tcp -h $ip2 -p $port2:tcp -h $ip3 -p $port3" \
    -e TARS_NODENAME="$nodename" \
    -e TARS_REGISTRY="tcp -h $ip1 -p 7891" \
    -e TARS_LOCALIP="$localip" \
    -e TARS_START_PORT=9999 \
    -e TARS_MODE=cluster \
    -v /data/tars:/data/tars \
    --name framework-pro \
    docker.tarsyun.com/tars-pro/framework-pro

说明:

  • 至少需要启动三个容器, 组成framework集群

  • TARS_OPEN_FRAMEWORK: 部署framework, 如果设置为false, 则只启动节点(请参考后续)

  • TARS_LOCATOR: 多节点的framework的tarsregistry.QueryObj的地址, 需要自己配置ip:port

  • TARS_REGISTRY: :当前框架的的tarsregistry地址, 必须是TARS_LOCATOR中的一个

  • TARS_LOCALIP: 本机的ip, 如果支持多网卡, 可以使用"0.0.0.0"

  • TARS_NODENAME: 当前节点的名称, 注意nodename必须不同, 而且唯一

  • TARS_START_PORT: 组件启用的起始端口, 如果不指定则随机分配端口, 否则从这个端口开始分配端口

  • TARS_MODE: 运行模式, 默认是集群模式(cluster), 也可以设置为单节点方式(single)

  • 可以在同一机器上启动三个容器, 注意自己控制好地址接口

  • 除了核心组件tars.tarsregistry.QueryObj的端口是分配的, 这里是: port1, port2, port3, 其他端口都是随机分配的

  • 每台节点, 都启动了web管理平台, 你可以通过: http://${框架ip}:3000, 打开管理平台

示例

  • 在三台机器上启动容器, 并且三台容器构建成一个集群

比如在ip分别为: 192.168.11.1, 192.168.11.2, 192.168.11.3 上部署容器, 你可以分别在三台机器上启动

在节点192.168.11.1上启动:

docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=true \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890:tcp -h 192.168.11.2 -p 7890:tcp -h 192.168.11.3 -p 7890" \
-e TARS_NODENAME="tarsnode-1" \
-e TARS_REGISTRY="tcp -h 192.168.11.1 -p 7890" \
-e TARS_LOCALIP="192.168.11.1" \
-e TARS_START_PORT=9000 \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name framework-pro \
docker.tarsyun.com/tars-pro/framework-pro

在节点192.168.11.2上启动:

docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=true \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890:tcp -h 192.168.11.2 -p 7890:tcp -h 192.168.11.3 -p 7890" \
-e TARS_NODENAME="tarsnode-2" \
-e TARS_REGISTRY="tcp -h 192.168.11.2 -p 7890" \
-e TARS_LOCALIP="192.168.11.2" \
-e TARS_START_PORT=9100 \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name framework-pro \
docker.tarsyun.com/tars-pro/framework-pro

在节点192.168.11.3上启动:

docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=true \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890:tcp -h 192.168.11.2 -p 7890:tcp -h 192.168.11.3 -p 7890" \
-e TARS_NODENAME="tarsnode-3" \
-e TARS_REGISTRY="tcp -h 192.168.11.3 -p 7890" \
-e TARS_LOCALIP="192.168.11.3" \
-e TARS_START_PORT=9200 \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name framework-pro \
docker.tarsyun.com/tars-pro/framework-pro
  • 在一台机器上启动三个容器, 并且构建成集群

比如在ip为192.168.11.1的机器上启动三个容器:

docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=true \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890:tcp -h 192.168.11.1 -p 7891:tcp -h 192.168.11.1 -p 7892" \
-e TARS_NODENAME="tarsnode-1" \
-e TARS_REGISTRY="tcp -h 192.168.11.1 -p 7890" \
-e TARS_LOCALIP="192.168.11.1" \
-e TARS_START_PORT=9000 \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name framework-pro-1 \
docker.tarsyun.com/tars-pro/framework-pro
docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=true \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890:tcp -h 192.168.11.1 -p 7891:tcp -h 192.168.11.1 -p 7892" \
-e TARS_NODENAME="tarsnode-2" \
-e TARS_REGISTRY="tcp -h 192.168.11.1 -p 7891" \
-e TARS_LOCALIP="192.168.11.1" \
-e TARS_START_PORT=9100 \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name framework-pro-2 \
docker.tarsyun.com/tars-pro/framework-pro
docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=true \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890:tcp -h 192.168.11.1 -p 7891:tcp -h 192.168.11.1 -p 7892" \
-e TARS_NODENAME="tarsnode-3" \
-e TARS_REGISTRY="tcp -h 192.168.11.3 -p 7892" \
-e TARS_LOCALIP="192.168.11.1" \
-e TARS_START_PORT=9200 \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name framework-pro-3 \
docker.tarsyun.com/tars-pro/framework-pro

启动以后可以使用如下命令检查框架核心组件tarsregistry的状态:

docker exec ${containid} tarsctl framework status

可以通过http://192.168.11.1:3000, http://192.168.11.2:3000,http://192.168.11.3:3000, 打开管理平台!

  • 在一台机器上以单节模式启动容器

docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=true \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890" \
-e TARS_NODENAME="master" \
-e TARS_LOCALIP="192.168.11.1" \
-e TARS_START_PORT=9200 \
-e TARS_MODE=single \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name framework-pro \
docker.tarsyun.com/tars-pro/framework-pro

增加节点

当部署框架以后, 我们可以增加节点, 也以容器方式增加节点, 命令如下:


docker run -d --net=host --restart=always \
    -e TARS_OPEN_FRAMEWORK=false \
    -e TARS_LOCATOR="tcp -h $ip1 -p $port1:tcp -h $ip2 -p $port2:tcp -h $ip3 -p $port3" \
    -e TARS_NODENAME="$nodename" \
    -e TARS_LOCALIP="$localip" \
    -v /data/tars:/data/tars \
    -v /etc/localtime:/etc/localtime \
    --name $nodename \
    docker.tarsyun.com/tars-pro/framework-pro

例如:


docker run -d --net=host --restart=always \
-e TARS_OPEN_FRAMEWORK=false \
-e TARS_LOCATOR="tcp -h 192.168.11.1 -p 7890:tcp -h 192.168.11.1 -p 7891:tcp -h 192.168.11.1 -p 7892" \
-e TARS_NODENAME="tarsnode-4" \
-e TARS_LOCALIP="192.168.11.1" \
-e TARS_START_PORT=9200 \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
--name tarsnode-4 \
docker.tarsyun.com/tars-pro/framework-pro
Previous使用二进制包部署Next业务服务一主多备机制

Last updated 10 months ago

Was this helpful?