<h2>目录</h2>
[toc]
## 平台系统账号
云帮安装程序会创建一个 **uid/gid** 为 **200** 的rain账号,后端服务除非必须用root运行的程序,其余都是使用rain账号运行。因此,下文中介绍的数据存储目录,日志目录,他们属主都是rain账号。
## 后端服务
管理节点上运行的服务都是云帮平台的后端服务,其中大部分是以容器的形式运行,也有少部分如:k8s、etcd、beanstalk等底层的服务是直接在系统中运行。容器服务通过 [docker-compose]([https://docs.docker.com/compose/) 作为编排工具。
### 以容器的方式运行的后端服务
| 服务名称 | 功能 |
|----------|------|
|acp_repo| 软件仓库服务,负责源码构建的包缓存,Maven仓库 等|
|acp_dns|平台内部DNS服务|
|acp_labor|负责 源码/Dockerfile 自动构建的work服务|
|acp_web|云帮web控制台服务|
|acp_event_log|计算节点的容器日志收集服务|
|acp_entrance|负责进行负载均衡操作的work服务|
|acp_mq| 平台异步事件的处理程序|
|acp_api|区域中心api服务|
|registry|docker 私有仓库服务|
#### 维护方式
```bash
# 查看容器服务状态
dc-compose ps
# 重启某个容器服务
dc-compose restart 服务名
# 示例: dc-compose restart console
# 启动容器服务
dc-compose up -d
```
>[info] 实际上dc-compose 是我们对docker-compose包装的一个命令,加载了/etc/goodrain/docker-compose.yaml 配置文件。
### 直接运行在主机中的后端服务
| 服务名称 | 功能 |维护方式|
|----------|------|---------|
|MySQL|平台存储用户数据、区域中心数据的数据库服务|`service mysql stop/start` |
|beanstalk|高性能、轻量级的分布式内存队列系统,分发云帮平台的异步消息|`service beanstalkd stop/start/restart` |
|etcd|分布式key/value 存储服务,k8s存储状态信息的服务| `start/stop etcd`|
| kube-apiserver| k8s 接口服务 | `start/stop kube-apiserver`|
|kube-controller-manager|k8s 控制,管理服务| `start/stop kube-controller-manager`|
|kube-scheduler| 调度服务 | `start/stop kube-scheduler`
### supervisor 维护的服务
| 服务名称| 功能|
|----------|-----|
| dalaran_cep |zmq实现的消息服务(实时分析)|
|dalaran_docker|zmq实现的消息服务(容器输出) |
|dalaran_service|zmq实现的消息服务(平台程序日志)|
|docker-console|提供web页面容器的交互操作(webconsole) |
**维护方式**
```bash
# 查看状态
supervisorctl status
# 启动
supervisorctl start 服务名称
# 示例: supervisorctl start dalaran_cep
# 停止
supervisorctl stop 服务名称
# 重启
supervisorctl restart 服务名称
```
### 服务检查脚本
通过执行服务检查脚本可以查看管理节点服务状态并自动启动相应的服务,执行结果如下所示:
<img src="http://7xihe6.com1.z0.glb.clouddn.com/check_services_manage.png" width="300px"/>
脚本下载:[check_manage_services.sh](https://raw.githubusercontent.com/goodrain/cloudbang/master/bin/check_manage_services.sh)
这里只列出了日志的目录,每个目录中会有对应的日志文件。
## 数据
平台的数据目录是 `/data` 目录结构如下:
```bash
data
├── docker_logs
├── etcd
└── service_logs
├── goodrain_web
│ ├── account
│ └── monitor
├── labor
│ ├── build_work
│ ├── docker_logger
│ ├── lb_worker
│ ├── mq_work
│ ├── pods_clean
│ └── service_container_monitor
└── region_api
├── deploy
├── monitor
└── service
```
## 服务开放端口
| 端口| 开放区域|服务 | 说明 |
|-------|--------|---------|---------|
| 6060 |对外| mpush|云帮控制台实时日志websocket服务|
| 7070 |对外|console|云帮web控制台|
| 8188 | 对外| nginx | 容器web终端websocket服务|
| 8888 |对内|region_api| 云帮区域中心api服务 |
| 8181| 对内| kube-apiserve| k8s api 服务端口|