ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker如何部署自动化运维调度平台TASKCTL

2022-06-25 15:34:38  阅读:121  来源: 互联网

标签:容器 centos 运维 TASKCTL taskctl 镜像 Docker 安装 节点


制作镜像

由于在dockerhub上没有查询到有关于TASKCTL的镜像就只能自己制作了,但由于本人仅是对软进 行件部署安装,没有实际的应用场景,所有制作的镜像也仅提供了最基础的运行环境。这也是给想要 在Docker上部署TASKCTL的小伙伴提供一点思路,可以根据个人的不同需求来定制自己的镜像。

Docker拉取一个centos的基本镜像:

1 docker pull centos
2 ## centos latest 5d0da3dc9764 9 months ago 231MB

制作taskctl-base镜像

1 # 后台启动centos并将日志输出到黑洞文件,这样防止无交互容器直接停止
2 docker run -d --name taskctl-base centos tail -f /dev/null
3 # copy 两个压缩包到容器的/root 目录下(这个根据个人喜好到哪个目录)
4 docker cp 包所在位置/cir_linux_64_8.0.tar taskctl-base:/root
5 # 进入容器
6 docker exec -it taskctl-base /bin/bash

由于安装包中用到了诸如 ifconfig 、vim的基础命令(具体需求哪些我也没仔细测),没有的话安 装会报错,所以需要安装一下基础命令。

1 yum install net-tools.x86_64 -y
2 yum install vim -y

如果报错:Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

进入/etcyum.repos.d/目录修改centos文件内容:

1 sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/CentOS-*
2 sed-i's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

进入容器测试安装一次,如果安装成功那么就可以打包成基础镜像了。安装教程官网也有,就是 linux下安装TASKCTL,这里就简要说一下。

1 #配置环境变量
2 vim/etc/profile
3 #写入内容
4 exportTASKCTLDIR=$HOME/taskctl
5 exportPATH=$PATH:$TASKCTLDIR/bin:.
6 #生效
7 source/etc/profile
8 #查看centos的ip地址,安装的时候用(我这里是127.17.0.2)
9 # 安装java环境
10 yum install java-1.8.0-openjdk-devel.x86_64

安装TASKCTL核心服务

1 cd/root/cirinst/ 
2 ./inst

选择2.自定义安装---->调度服务安装(无高可靠)------>输入ip(127.17.0.2) ----- >端口

初始化节点并启动

1 # 初始化
2 ctlinit
3 #启动
4 ctlstart
5 #查看基本信息,选择1,节点基本信息 6 ctlninfo

启动web服务(安装了java环境以后),直接解压taskctl-web包运行包下的./startup.sh脚本。 到此处安装成功。确认环境和安装包都没有问题,那么就可以制作镜像了。

1.#退出并停止容器 
2.exit

提交镜像

1.docker commit -a="huangrui" -m="taskctl" taskctl-base huangrui/taskctl-base

制作基础镜像完成。

启动服务

上面制作的基础镜像中带有核心的安装包和web的安装包,满足了taskctl基础环境。一下所有 的容器也是在此镜像的基础上搭建的。

新建Docker网络

 1 docker network create --driver bridge --subnet 172.17.0.0/16 --gateway 172.17.0.1 taskctl-network

新建所有的taskctl服务都是用自建的docker-network网络,这样就无需使用ip可以直接使用容器 名进行识别,也减少了由于网络不通出现的错误。

启动task-service容器

到此访问IP:8888就可以使用TASKCTL服务了

代理节点

代理节点的安装和service的其实大同小异,进入taskctl-base中,在安装task服务的时候选择代理 节点安装,然后退出容器,保存镜像即可。这样吧service节点和代理节点镜像分开,对于批量启动仅 需要修改代理的IP即可。

其他

由于本教程仅提供思路,所有就没有上传我的镜像,制作起来也不难。主要遇到的坑在于安装代理 节点的时候容器的IP和已安装的节点IP不同,这样批量启动的时候每个容器都去重新安装属实不舒服, 提供两个解决思路:

1.使用Docker网络,在制作镜像时候配置容器host:

格式: 镜像名称 ifconfig中的IP

2. 使用脚本,在大量启动代理节点时修改/root/taskctl/conf目录下的配置地址(ifconfig),也 可以使用启动时固定写死IP

标签:容器,centos,运维,TASKCTL,taskctl,镜像,Docker,安装,节点
来源: https://www.cnblogs.com/lovewf1/p/16411699.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有