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》

相关文章
|
存储 缓存 Linux
Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查
写在前面 分享一些 AWX 启用facts缓存和模板问卷调查的笔记 博文内容涉及: 启动facts缓存相关配置Demo 启用模板调查来设置变量demo 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
206 0
Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查
|
数据可视化 API 调度
Ansible最佳实践之 AWX 高级作业工作流的创建和调度
写在前面 分享一些 AWX 高级作业工作流的创建和调度的笔记 博文内容涉及: 创建和启动工作流模板 Demo 工作流调度和通知的相关介绍 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
372 0
Ansible最佳实践之 AWX 高级作业工作流的创建和调度
|
存储 JSON Devops
Ansible最佳实践之 AWX 使用 Ansible 与 API 通信
写在前面 分享一些 AWX 使用 Ansible 与 API 通信的笔记 博文内容涉及: curl 方式调用 AWX API 浏览器接口文档方式调用 AWX API 使用 API 调用方式启动 AWX 中 作业模板 Ansible 模块 uri 的简单介绍 Ansible 剧本方式 调用 API 启动作业模板 理解不足小伙伴帮忙指正
556 0
Ansible最佳实践之 AWX  使用 Ansible 与 API 通信
|
存储 Kubernetes 调度
Ansible最佳实践之 AWX 管理项目的一些笔记
写在前面 分享一些 AWX 创建管理项目的笔记 博文内容涉及: 容器化 AWX 手工创建项目Demo 通过 SCM 创建项目 Demo 项目角色,更新策略介绍,SCM 凭据的创建 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
615 0
Ansible最佳实践之 AWX 管理项目的一些笔记
|
运维 负载均衡 Kubernetes
Ansible最佳实践之委派任务和事实
写在前面 分享一些 Ansible 委派任务和事实委派 的笔记 博文内容涉及: Ploybook 任务委派 Demo Ploybook 事实委派 Demo 理解不足小伙伴帮忙指正
173 0
|
9天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
4天前
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。
|
7天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
27 4
|
6天前
|
运维 安全 应用服务中间件
自动化运维的利剑:Ansible在配置管理中的应用
【10月更文挑战第37天】本文将深入探讨如何利用Ansible简化和自动化复杂的IT基础设施管理任务。我们将通过实际案例,展示如何用Ansible编写可重用的配置代码,以及这些代码如何帮助运维团队提高效率和减少人为错误。文章还将讨论如何构建Ansible playbook来自动部署应用、管理系统更新和执行常规维护任务。准备好深入了解这个强大的工具,让你的运维工作更加轻松吧!
21 2
|
7天前
|
运维 Devops 应用服务中间件
自动化运维的利器:Ansible实战指南
【10月更文挑战第36天】在快速迭代的数字时代,自动化运维成为提升效率、减少错误的关键。Ansible以其简洁性、易用性和强大的功能脱颖而出。本文将带你了解Ansible的核心组件,通过实际案例深入其应用,并探讨如何结合最佳实践优化你的自动化工作流程。无论你是新手还是有经验的运维人员,本指南都将为你提供宝贵的知识和技能。