Ansible最佳实践之 AWX 作业创建和启动

简介: 写在前面分享一些 AWX 作业创建和启动的笔记博文内容涉及:创建作业模板涉及相关参数,作业模板角色配置介绍运行作业模板并测试的Demo食用方式: 需要了解 Ansible理解不足小伙伴帮忙指正

写在前面

  • 分享一些 AWX 作业创建和启动的笔记
  • 博文内容涉及:

    • 创建作业模板
    • 涉及相关参数,作业模板角色配置介绍
    • 运行作业模板并测试的Demo
  • 食用方式: 需要了解 Ansible
  • 理解不足小伙伴帮忙指正

傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波

创建作业模板和启动作业

作业模板、项目和清单

作业模板是一个用来启动运行 Playbook 的作业的模板。

创建了项目,这是时候,当前剧本只有项目,也就是要执行的剧本,执行剧本涉及的主机清单,变量等都没有,这里的项目类型于一个角色的 task 目录下的部分

作业模板将项目中的 Playbook主机清单、用于身份验证的凭据以及在启动 Ansible 作业以运行该 Playbook时使用的其他参数、变量相关联。

用户是否可以启动作业或创建具有特定项目和清单的作业模板取决于已为其分配的角色。当被授权 Use 角色时,用户可以使用作业模板将项目与清单关联。

作业模板定义了用于执行 Ansible 作业的参数。作业模板还必须定义将用于对受管主机进行身份验证的计算机凭据

创建作业模板

与其它 AWX 资源不同,作业模板不直接属于某一组织,而是属于某一组织的项目使用。作业模板与组织的关系由它所使用的项目决定。

由于必须使用清单、项目和计算机凭据定义作业模板,因此只有当用户被分配了这三个 AWX 资源中的⼀个或多个的 Use 角色时,它们才可创建作业模板

创建作业模板

可以设置超时,作业分片等

这里方便测试,使用之前手工创建的项目,下面为修改项目的执行剧本,这里我们使用 yum 模块来安装 htop 这个监控软件

┌──[root@vms81.liruilongs.github.io]-[~/ansible]
└─$kubectl exec -it awx-demo-65d9bf775b-hc58x -c awx-demo-task  -- bash
bash-5.1$ cat /var/lib/awx/projects/liruilong_manual/test.yaml
---
- name: awx demo
  hosts: all
  tasks:
    - name: yum htop
      yum:
        name: htop
        state: installed

bash-5.1$ exit
exit
┌──[root@vms81.liruilongs.github.io]-[~/ansible]
└─$

修改作业执行

作业模板具有其它配置,来调整启动模板时,下面问参数对应的描述:

  • 描述/DESCRIPTION:用于存储作业模板的可选描述。
  • 并行数/FORKS:控制在 Playbook 执行期间允许的并行进程数量。
  • 限制/LIMIT:限制由作业模板的清单提供的受管主机的列表。
  • 设置标签/JOB TAGS:接受在 Playbook 中存在以逗号分隔的标记列表。可以选择性的仅执行 Playbook 的特定部分。
  • 跳过标签/SKIP TAGS:接受在 Playbook 中存在以逗号分隔的标记列表。可以选择性的在 Playbook 执行期间条做其中的特定部分。
  • 标签/LABELS:标记是可以附加到作业模板来帮助分组或过滤作业模板的名称。
  • 提权/Enable Privilege Escalation:启用后,Playbook 将使用特权来执行。
  • 回调设置/Allow Provisioning Callbacks:启用后,会在 AWX 上创建回调 URL,供主机使用作业模板请求配置更新。
  • 是否并发执行/Enable Concurrent Job:启用后,将允许多次同时执行此作业模板。
  • 利用事实缓存/Use Fact Cache:启用后,将使用缓存的 Facts ,并将新发现的 Facts 存储在 AWX 上的 Facts缓存中。
  • 变量/EXTRA VARIABLES:与 ansible-playbook 命令的 -e 选项等效,用于将额外的命令行变量传递到作业执行的 Playbook。

提示输入作业参数

AWX 允许作业模板中的某些参数在作业执行时提示用户输⼊。这⼀ 启动时提示 选项适用于:

  • JOB TYPE
  • INVENTORY
  • CREDENTIAL
  • LIMIT
  • VERBOSITY
  • JOB TAGS
  • SKIP TAGS
  • EXTRA VARIABLES

在作业执行时能够灵活地更改作业参数有助于重复利用 Playbook。

作业模板角色

有三种角色可用于控制用户对作业模板的访问权限。

  • Admin:为用户提供了删除作业模板或编辑其属性的角色。
  • Execute:授予用户使用作业模板执行作业的权限。
  • Read:授予用户查看作业模板属性的只读访问权限。

管理作业模板访问权限

首次创建作业模板时,只能由创建它的用户或特定用户进行访问。

编辑作业模板访问权限

启动作业

创建作业模板后,需要使用具有 Excute 角色的用户来启动作业。启动作业过程

评估作业结果

从 AWX web 界面中的作业模板启动作业运行后,该用户会自动重定向到该作业的详细信息页面。

可以看到剧本状态为 change ,说明运行成功

测试安装结果

我们可以使用 ad-hoc 的方式测试 命令是否存在

博文参考

《DO447 Advanced Automation Ansible Best Practices》

相关文章
|
运维 负载均衡 Kubernetes
Ansible最佳实践之委派任务和事实
写在前面 分享一些 Ansible 委派任务和事实委派 的笔记 博文内容涉及: Ploybook 任务委派 Demo Ploybook 事实委派 Demo 理解不足小伙伴帮忙指正
134 0
|
存储 缓存 Linux
Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查
写在前面 分享一些 AWX 启用facts缓存和模板问卷调查的笔记 博文内容涉及: 启动facts缓存相关配置Demo 启用模板调查来设置变量demo 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
148 0
Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查
|
数据可视化 API 调度
Ansible最佳实践之 AWX 高级作业工作流的创建和调度
写在前面 分享一些 AWX 高级作业工作流的创建和调度的笔记 博文内容涉及: 创建和启动工作流模板 Demo 工作流调度和通知的相关介绍 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
265 0
Ansible最佳实践之 AWX 高级作业工作流的创建和调度
|
存储 JSON Devops
Ansible最佳实践之 AWX 使用 Ansible 与 API 通信
写在前面 分享一些 AWX 使用 Ansible 与 API 通信的笔记 博文内容涉及: curl 方式调用 AWX API 浏览器接口文档方式调用 AWX API 使用 API 调用方式启动 AWX 中 作业模板 Ansible 模块 uri 的简单介绍 Ansible 剧本方式 调用 API 启动作业模板 理解不足小伙伴帮忙指正
435 0
Ansible最佳实践之 AWX  使用 Ansible 与 API 通信
|
存储 Kubernetes 调度
Ansible最佳实践之 AWX 管理项目的一些笔记
写在前面 分享一些 AWX 创建管理项目的笔记 博文内容涉及: 容器化 AWX 手工创建项目Demo 通过 SCM 创建项目 Demo 项目角色,更新策略介绍,SCM 凭据的创建 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
492 0
Ansible最佳实践之 AWX 管理项目的一些笔记
|
7月前
|
运维 Shell Linux
Ansible自动化运维工具之常用模块使用实战(5)
Ansible自动化运维工具之常用模块使用实战(5)
|
9月前
|
网络协议 网络安全
Ansible模块介绍——防火墙模块
Ansible模块介绍——防火墙模块
145 0
|
7月前
|
运维 Linux
Ansible自动化运维工具之常用模块使用实战(6)
Ansible自动化运维工具之常用模块使用实战(6)
|
6月前
|
网络安全 数据安全/隐私保护
ansible的get_url模块
ansible的get_url模块
|
6月前
|
存储 Linux Python
ansible手动添加模块
ansible手动添加模块
49 0