目录

平台系统账号

云帮安装程序会创建一个 uid/gid200 的rain账号,后端服务除非必须用root运行的程序,其余都是使用rain账号运行。因此,下文中介绍的数据存储目录,日志目录,他们属主都是rain账号。

后端服务

管理节点上运行的服务都是云帮平台的后端服务,其中大部分是以容器的形式运行,也有少部分如:k8s、etcd、beanstalk等底层的服务是直接在系统中运行。容器服务通过 docker-compose 作为编排工具。

以容器的方式运行的后端服务

服务名称 功能
artifactory软件仓库服务,负责源码构建的包缓存,Maven仓库 等
build_work负责 源码/Dockerfile 自动构建的work服务
console云帮web控制台服务
docker_logger计算节点的容器日志收集服务
lb_work负责进行负载均衡操作的work服务
mpushweb控制台的实时消息推送服务(websocket)
mq_work平台异步事件的处理程序
pods_clean容器,网络,k8s的资源回收程序
region_api区域中心api服务
registrydocker 私有仓库服务
service_container_monitor计算节点容器监控服务
service_logger管理端服务的日志收集服务
skydns平台内部DNS服务

维护方式

# 查看容器服务状态
dc-compose ps

# 重启某个容器服务
dc-compose restart 服务名
# 示例: dc-compose restart console

# 启动容器服务
dc-compose up -d

实际上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-apiserverk8s 接口服务 start/stop kube-apiserver
kube-controller-managerk8s 控制,管理服务start/stop kube-controller-manager
kube-scheduler调度服务 start/stop kube-scheduler

supervisor 维护的服务

服务名称功能
dalaran_cep zmq实现的消息服务(实时分析)
dalaran_dockerzmq实现的消息服务(容器输出)
dalaran_servicezmq实现的消息服务(平台程序日志)
docker-console提供web页面容器的交互操作(webconsole)

维护方式

# 查看状态
supervisorctl  status
 
# 启动
supervisorctl start 服务名称 
# 示例:  supervisorctl start dalaran_cep
 
# 停止
supervisorctl stop 服务名称
 
# 重启
supervisorctl restart 服务名称

服务检查脚本

通过执行服务检查脚本可以查看管理节点服务状态并自动启动相应的服务,执行结果如下所示:
check_services_manage.png

脚本下载:check_manage_services.sh

这里只列出了日志的目录,每个目录中会有对应的日志文件。

数据

平台的数据目录是 /data 目录结构如下:

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-apiservek8s api 服务端口