1.安装 docker,确保 docker 指令能用。
2.安装go,GOPATH="/root/workspace",GOROOT="/usr/lib/go-1.7",GOTOOLDIR="/usr/lib/go-1.7/pkg/tool/linux_amd64"。
3.安装 gotty,确保 gotty 指令能用,gotty默认8080,大部分情况被占用,可自建预载文件解决冲突。s2的为:/root/.gotty,生成 $GOBIN/gotty.key和$GOBIN/gotty.crt,生成方法不详述,自行百度,提供个gotty链接:Releases · yudai/gotty · GitHub。
4.下载并安装 KubeAgent(放在任意目录下),新建 const_server.py 并写入参数(最新包可直接用):访问TOKEN(需要组管理员TOKEN,在平台上获取);映射目录PATHS = [{"host": "/home/s2/docker", "docker": "/home/s2"}],多个目录映射可增加列表,注意执行用户需要有宿主机目录(/home/h50/docker)写权限。
5.安装插件环境,主要为gunicron和celery:pip install -r requirements。
6.修改了 command 要重启 celery;修改了 const_server.py 要重启 gunicorn 和 celery:ps auxww|grep "celery worker"|grep -v grep|awk '{print $2}'|xargs kill -9。
7.运行 gunicorn -b 0.0.0.0:18888 app:app -w 4 --threads 4 ;celery -A tasks.celery worker -c 5 ;s2我写了后台进程启动脚本,home/qixin03/startvs.sh 并输出日志为/home/qixin03/gunicron.log 和 /home/qixin03/celery.log。
8.打镜像的话,docker image里面要装好 tailon,不然就只能在启动的操作里配置pip install tailon。
9.让sa开启端口白名单。
成功如下(日志持续输出):


10.登录 http://virtualserver.nie.netease.com/manage/#help3 进入项目
11.进入设置增加版本和新建主机,注意端口号需要和gunicron的端口保持一致
12.如下:

13.一键新建服务器,会根据配置的镜像直接生成

14.自定义操作:
docker服可直接在宿主机上执行shell命令或在docker容器中执行,为区分宿主机与docker的操作,docker服务器的命令定义为host类型(在宿主机上执行)和docker类型(docker容器中执行),宿主机上的命令需要以[host_cmd]开头以标识需要在宿主机上执行该命令

本文详细介绍了一个自动化运维平台的搭建过程,包括Docker、Go、gotty等工具的安装配置,KubeAgent的使用,以及gunicorn和celery的环境部署,并提供了启动脚本和注意事项。

715

被折叠的 条评论
为什么被折叠?



