使用 Docker Compose 安装
2. 服务器初始化#
安装 Python 2.x
2.1 系统磁盘分区#
2.2 基于 setup-tools 部署#
2.2.1 生成 setup-tools 安装包#
make build.setup-tools -> ops/dist/ur.tar.gz
2.2.2 使用 setup-tools#
部署时可按以下顺序执行,资源有限因此会有共用的情况,默认方案以七台服务器作方案
| Job / Config | 类别 | 说明 |
|---|---|---|
| host.yml (必须) | 主机配置 | 把需要编排的服务器资源录入此,注意服务器不能同时成为 nfs server 和 client |
| params.yml (必须) | 参数变量 | 执行 Job 所需要的一些参数 |
| update_params_to_prod.sh (必须) | 执行脚本 | 重要 依赖 params.yml, 把变量更新到 datebase.php, env, filebeat, lsyncd |
| init-system-job.yml (必须) | 所有服务器 | 初始化系统,包括时钟同 |
| app-server-job.yml (必须) | 应用服务器 | docker-compose 方案, 多台应用服务器需要手动更改 upstream |
| (TODO) app-server-swarm-job.yml | 应用服务器 | 后续希望只使用 Swarm Mode, 支持多台服务器 |
| ssh-copy-id-job.yml (应用服务器节点 >= 2 时必须) | 应用服务器 | lsyncd ssh 公钥认证,同步应用服务器导入导出附件目录,以达到应用层无状态 |
| (TODO, ) nfs-backup-job.yml (服务器总数量 >=2 时建议) | NFS Server | 按天备份附件,DB,ES snapshot |
| redis-server-job.yml (必须) | Redis Server | 单节点 |
| mysql-server-job.yml (必须) | MySQL Server | 主从 |
| elasticsearch-server-job.yml (必须) | Elasticsearch Server | 最多支持三节点 |
| check-system-job.yml (检测时用) | 检测系统 | CPU, 内存, 磁盘, 网络, 时钟同步等情况,执行后可以统一从日志里查看 |
| check-resource-job.yml (检测时用) | 检测资源 | Redis, MySQL, ES 等可用性状态,执行后可以统一从日志里查看 |
2.3 Docker Compose#
系统初始化#
安装 Docker 与 Docker Compose#
- Docker Compose https://github.com/docker/compose/releases
- Docker
清理旧容器数据(可选)#
启动存储服务#
启动应用服务#
2.5 数据初始化#
参考 seed.sql, 初始账号:demo / 82fd7ff892db8
2.6 部署完成#
至此,部署完成,setup-tools 其它可以用脚本批处理之,但分步执行可以观察每个 job 的结果,更为放心一些。而 Docker Swarm Mode 设置目前为手动配置。
3. 日常运维杂记#
3.1 重启相关#
- 部署全面完成,建议全部服务器重启一次看,看看系统各种服务是否运行 OK,防止对比机子重启导致问题