3. 快速入门

3.1. 步骤

3.1.1. 基本使用流程

image not found

注解

  1. 审核流程非必须,若为开启审核功能,用户提单后可以直接执行和返回执行结果
  2. 快速入门手册没有开启审核流程,假设运维和提单人员为同一人,都用管理员账号配置。
  3. 关于审核流程配置详见:用户手册》用户系统》审核流程配置

3.1.2. 菜单和用户配置流程

  1. 添加菜单
  2. 添加菜单角色
  3. 创建用户并授权
  4. 创建用户组

注解

超级管理员默认具有所有菜单访问权限.

3.1.3. 工单配置流程

  1. 配置中心初始化
  2. 用途分类配置
  3. 工单变量注册
  4. 工单变量分组
  5. 工单插件注册

注解

若ansible或相关插件执行服务器与skstack在同一台服务器 则不需要进行配置中心初始化工作

3.2. 创建菜单和用户并授权

3.2.1. 添加菜单

用户管理》权限管理》菜单权限》添加权限

image not found

注解

菜单权限基于URL方式认证授权,URL后需要以”/”符号结尾,详见上截图.

3.2.2. 添加菜单角色

用户管理》权限管理》菜单角色》添加角色

image not found

3.2.3. 添加用户和授权

用户管理》用户管理》菜单角色》添加用户并授权菜单角色权限

3.2.4. 添加用户组

用户管理》群组管理》菜单角色》添加用户组

注解

用户组用于工单授权和审核流程层级授权

3.3. 创建一个ansible任务工单

3.3.1. 效果展示

image not found

注解

  1. AnsibleCMD为用户需要输入的shell命令
  2. AnsibleHosts为用户选择需要执行shell命令的目标主机
  3. 执行结果将基于xterm样式 websocket实时输出

3.3.2. 插件环境基础配置

  1. ansible安装:略
  2. 插件安装:执行 git clone 《插件git url》,注意:插件安装到ansible服务器/opt/soft目录
  3. 该插件与skstack web系统使用同一python虚拟机环境
  4. 配置demo1作为ansible 远程执行命令的客户机 作为测试:略

3.3.3. ansible cmd插件测试

确认先在命令行模式测试插件是否工作正常,不同的插件详见各插件使用说明文档,demo以ansible cmd插件脚本为例;
确认ansible cmd脚本”ansible_cmd.py”的配置文件配置正确
(skstack) [root@devops pl_ansible]# more ./conf/dev_conf.json
{
        "ansible_hosts_file":"/etc/ansible/hosts",
        "forks":"5"
}
(skstack) [root@devops pl_ansible]# python main_ansible_shell.py -e dev -g demo1 -c date
2020-01-07 17:56:59.115794 INFO the ansible shell task started
svn | CHANGED | rc=0 >>
2020年 01月 07日 星期二 17:57:00 CST
2020-01-07 17:57:00.947437 INFO the ansible shell task finished
(skstack) [root@devops pl_ansible]#

注解

该处–e表示读取./conf/dev_conf.json 配置文件 -g表示项目名称 -c表示执行的shell命令

确认ansible hosts变量获取脚本工作正常,

(skstack) [root@devops pl_ansible]# python vars_get_AnsibleHosts.py -e dev
['demo1', 'demo2', 'dev_nginx']

注解

  1. 该处-e参数为获取不同环境的配置文件参数;该处–e表示读取./conf/dev_conf.json 配置文件。
  2. 执行结果返回/etc/ansible/hosts下的group列表清单表示工作正常

3.3.4. 添加配置中心

注解

  1. 若ansible或相关插件执行服务器与skstack在同一台服务器 则不需要进行配置中心添加工作
  2. skstack和ansible和插件工具工作原理,详见快速入门 概述章节内容。
  3. skstack支持添加多个配置中心:如不同环境使用不同的ansible作为配置管理服务器。

工单系统》配置》配置中心》添加

image not found

添加完毕点击验证按钮能够获取到配置中心时间表示配置成功,如下截图

image not found

3.3.5. 添加用途分类

image not found

3.3.6. 工单变量注册

该处用于注册工单外部变量,通过脚本或者管理员自定义的方式获取变量参数,通过web交互界面由用户传递给工单任务脚本
注册ansible hosts变量,用于执行asnible cmd时候 选择主机,如web效果展示的AnsibleCMD选项
image not found image not found

注册自定义文本输入框变量,用于输入shell命令,如web效果展示的AnsibleHosts选项

image not found image not found

3.3.7. 工单变量分组

每个工单可以关联一组外部变量,只有加入改组的工单变量,才能在web交互界面提单时进行选择。

image not found

3.3.8. 工单插件注册

image not found image not found image not found

注解

  1. 每定义一个任务工单,可以传递外部list变量(用户可选)和内部变量(对用户不可见)给工单
  2. 内部变量此处未用,格式为dict 如{“GitProjName”:”app01”} key为变量名,value为值,可以定义多个kv
  3. 外部和内部变量通过”{变量名}” 传递给任务脚本;如 main_ansible_shell.py -e dev -g “{AnsibleHosts}” -c “{AnsibleCMD}”
  4. 主任务配置项的python虚拟机路径的python命令和脚本路径需要使用绝对路径,详见截图”