美文网首页ETL作业调度工具TASKCTLLinux学习|Gentoo/Arch/FreeBSD我用 Linux
TASKCTL如何实现Docker的一键部署与运维自动化?

TASKCTL如何实现Docker的一键部署与运维自动化?

作者: TASKCTL | 来源:发表于2023-05-16 14:15 被阅读0次

    介绍:

    TASKCTL是一种批量作业调度工具,它允许用户通过命令行或图形化界面管理 Linux 系统中的任务。TASKCTL 可以用于调度批处理作业、定时任务和日志处理任务等。

    TASKCTL 提供了多种命令行选项,可以用于创建、修改、删除和查询任务。通过 TASKCTL,用户可以轻松创建和运行批处理作业,这些作业可以包括 shell 脚本、TCP/IP 协议栈、文件系统等。TASKCTL  还支持定时任务,例如在指定时间运行的作业,以及日志处理任务,例如在指定时间将日志文件重命名或移动到其他目录。

    TASKCTL 还可以通过 GUI 界面进行配置和管理。GUI 界面提供了直观的视觉效果,帮助用户更轻松地管理任务。此外,TaskCTL 还支持多种操作系统,包括 Linux、Unix 和 Windows。

    TASKCTL  是一种强大的批量作业调度工具,它可以帮助用户更轻松地管理 Linux 系统中的任务。它提供了多种命令行选项和 GUI 界面,使得用户可以轻松管理任务,无论他们是在命令行还是图形化环境中进行操作。

    TASKCTL 提供了多种命令行选项,可以用于创建、修改、删除和查询任务。通过 TASKCTL,用户可以轻松创建和运行批处理作业,这些作业可以包括 shell 脚本、TCP/IP 协议栈、文件系统等。TASKCTL 还支持定时任务,例如在指定时间运行的作业,以及日志处理任务,例如在指定时间将日志文件重命名或移动到其他目录。

    TASKCTL  还可以通过 GUI 界面进行配置和管理。GUI 界面提供了直观的视觉效果,帮助用户更轻松地管理任务。此外,TASKCTL 还支持多种操作系统,包括 Linux、Unix 和 Windows。

    TASKCTL 是一种强大的批量作业调度工具,它可以帮助用户更轻松地管理 Linux 系统中的任务。它提供了多种命令行选项和 GUI 界面,使得用户可以轻松管理任务,无论他们是在命令行还是图形化环境中进行操作。

    制作镜像

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

    准备工作

    首先从官网下载安装包 (cir_linux_64_8.0.tar、taskctl-web-8.0.tar)

    TASKCTL 下载安装地址 :www.taskctl.com

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

    制作 taskctl-base 镜像

    先启动一个 centos 容器,将 cir_linux_64_8.0.tar 包 copy 到容器中。

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

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

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

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

    安装 TASKCTL,这里就简要说一下。

    安装 TASKCTL 核心服务

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

    初始化节点并启动

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

    提交镜像

    制作基础镜像完成。

    启动服务

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

    新建 Docker 网络

    新建所有的 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

    相关文章

      网友评论

        本文标题:TASKCTL如何实现Docker的一键部署与运维自动化?

        本文链接:https://www.haomeiwen.com/subject/uaqbsdtx.html