背景
在运维场景下,我们经常要推送一些脚本到大量的机器上执行,比如我们需要修改生产所有虚机的dns,一般而言用户需要实现这个功能可以借助譬如salt这样的传统运维管理工具,也可以自己开发功能,循环通过ssh连接到目标节点执行脚本
对于salt这类工具执行过程不透明,执行失败率较高,难以审计,主要依赖运维人员自身。
开发脚本的话难度较高,难以复用,耗时耗力。
针对以上难题,jiascheduler默认提供广播执行模式,可以一次将脚本推送到数以万计的实例执行,并且实时收集执行结果。
开始使用
我们将会针对修改dns
这个具体的应用场景,演示如何使用jiascheduler。使用之前,我们需要做一些准备工作,如创建团队,创建作业,设置标签等...
设置团队
jiascheduler
支持根据职责设置不同团队,我们首先创建dns维护
团队,后续我们可以方便的将所有运维相关脚本存放到该团队
设置过团队以后,我们可以在导航栏右上角切换不同团队
团队选择好之后,我们就可以开始创建作业了
创建作业
作业对应用户的执行脚本,这里我们创建了一个修改dns的作业
我们可以在编辑作业时,设置执行用户,脚本超时,执行目录等,开启大盘显示后,作业的执行状态会同步展示在用户工作台中
广播推送
准备好作业之后我们就可以开始广播推送了,点击启动开始配置目标执行节点。
推送之后会生成一条调度记录,调度记录包含了当前作业的快照和执行该脚本的所有的目标节点,基于调度记录我们可以对调度进行重放(启动,停止)。
查看执行结果
在运行列表中,我们可以实时查看节点的执行状态,并对运行中的作业进行干涉,运行状态提供了针对单个节点,单个作业的更细粒度的控制。
如果我们一次调度中的执行节点有多个,我们期望一次全部停止当前运行的作业,那么我们可以从调度记录中执行这些快捷操作,调度记录中还记录了当前调度的作业快照状态,作业的执行记录等。
调度详情中的执行记录汇总了当次调度中所有节点的执行结果,供用户方便的找出执行异常的实例。
最后,jiascheduler把所有的执行记录放在了一个专有的菜单,供用户审计