大鸟上撒点盐,生活才能多姿多彩。

Ansible Tower 用户指南 v3.2.1

Ansible Tower

用户指南

v3.2.1

http://docs.ansible.com/ansible-tower/latest/html/userguide/index.html

目录

1. 概述 1

1.1. 实时剧本输出和探索(Real-time Playbook Output and Exploration) 1

1.2. “按钮”自动化(“Push Button” Automation) 1

1.3. 增强和简化基于角色的访问控制和审计(Enhanced and Simplifed Role-Based Access Control and Auditing) 1

1.4. 云和自动缩放灵活性(Cloud & Autoscaling Flexibility) 2

1.5. 理想的RESTful API(The Ideal RESTful API) 2

1.6. 备份还原(Backup and Restore) 2

1.7. Ansible Galaxy 集成 (Ansible Galaxy Integration) 2

1.8. OpenStack的库存支持(Inventory Support for OpenStack) 2

1.9. 远程命令执行(Remote Command Execution) 3

1.10. 系统跟踪(System Tracking) 3

1.11. 综合通知(Integrated Notifications) 3

1.12. 卫星和CloudForms集成(Satellite and CloudForms Integration) 3

1.13. 运行时工作定制(Run-time Job Customization) 3

1.14. 红帽洞察集成(Red Hat Insights Integration) 4

2. 登录(Logging In) 5

3. 导入许可证(Import a License) 5

3.1. 手动添加Tower许可证(Adding a Tower License Manually) 7

4. Ansible Tower 仪表盘(The Tower Dashboard and Interface) 8

4.1. Tower管理菜单(Tower Admin Menu) 9

4.2. 设置菜单(Settings Menu) 10

4.3. 我的观点 – 用户菜单(My View – User Menu) 10

4.3.1. 工作模板(Job Templates) 11

4.3.2. 工作(jobs) 12

4.4. 仪表板视图(Dashboard Views) 12

4.4.1. 工作状态(Job Status) 13

4.4.2. 最近使用的工作模板(Recently Used Job Templates) 13

4.4.3. 最近运行工作(Recently Run Jobs) 13

4.4.4. 活动流(Activity Streams) 13

5. 搜索(Search) 15

5.1. 搜索技巧(Searching Tips) 16

5.1.1. 分类(Sort) 17

6. 组织(Organizations) 18

6.1. 组织 – 用户(Organizations – Users) 20

6.1.1. 添加用户(Add a User) 21

6.2. 组织 – 通知(Organizations – Notifications) 22

6.3. 组织 – 总结(Organization – Summary) 23

7. 用户(Users) 23

7.1. 创建一个用户(Create a User) 25

7.2. 用户类型 – 快速查看(User Types – Quick View) 26

7.3. 用户 – 组织(Users – Organizations) 27

7.4. 用户 – 团队(Users – Teams) 27

7.5. 用户 – 权限(Users – Permissions) 28

7.5.1. 添加权限(Add Permissions) 28

8. 团队(Teams) 32

8.1. 创建一个团队(Create a Team) 33

8.1.1. 团队 – 用户(Teams – Users) 34

8.1.2. 添加用户(Add a User) 35

8.1.3. 团队 – 权限(Teams – Permissions) 36

8.1.4. 添加团队权限(Add Team Permissions) 37

9. 凭证(Credentials) 40

9.1. 了解凭证如何工作(Understanding How Credentials Work) 40

9.2. 证书入门(Getting Started with Credentials) 41

9.3. 添加新证书(Add a New Credential) 42

9.4. 凭证类型(Credential Types) 44

9.4.1. Amazon Web Services 44

9.4.2. Google Compute Engine 45

9.4.3. Insights 45

9.4.4. Machine 46

9.4.5. Microsoft Azure Classic(已弃用) 48

9.4.6. Microsoft Azure Resource Manager 48

9.4.7. Network 50

9.4.8. OpenStack 50

9.4.9. Red Hat Cloud Forms 51

9.4.10. Red Hat Satellite 6 52

9.4.11. Source Control 52

9.4.12. Vault 53

9.4.13. VMware vCenter 54

10. 项目(Projects) 54

10.1. 添加一个新项目(Add a new project) 56

10.2. 使用权限(Work with Permissions) 57

10.3. 添加权限(Add Permissions) 57

10.4. 使用通知(Work with Notifications) 61

10.5. 手动管理剧本(Manage playbooks manually) 62

10.6. 使用源代码管理来管理剧本(Manage playbooks using Source Control) 62

10.7. 从源代码管理更新项目(Updating projects from source control) 63

10.8. 添加新的时间表(Add a new schedule) 65

10.9. Ansible Galaxy支持(Ansible Galaxy Support) 67

11. 库存清单(Inventories) 67

11.1. 智能库存(Smart Inventories) 69

11.2. 添加新的库存(Add a new inventory) 70

11.2.1. 添加权限(Add Permissions) 72

11.2.2. 添加组(Add Groups) 76

11.2.3. 添加主机(Add hosts) 78

11.2.4. 添加来源(Add source) 81

11.2.5. 查看完成的工作(View completed jobs) 83

11.3. 运行特殊命令(View completed jobs) 93

12. 工作模板(Job Templates) 95

12.1. 创建作业模板(Create a Job Template) 95

12.2. 查看已完成的作业(View Completed Jobs) 100

12.3. 添加权限(Add Permissions) 101

12.4. 使用通知(Work with Notifications) 104

12.5. 调查(Surveys) 105

12.5.1. 创建一个调查(Create a Survey) 105

12.5.2. 选调查问题(Optional Survey Questions) 107

12.6. 启动工作模板(Launch a Job Template) 108

12.7. 调度(Scheduling) 110

12.7.1. 安排工作模板(Schedule a Job Template) 110

12.8. 复制作业模板(Copy a Job Template) 112

12.9. 扫描作业模板(Scan Job Templates) 112

12.9.1. 事实扫描手册(Fact Scan Playbooks) 113

12.9.2. 支持scan_facts.yml的操作系统(Supported OSes for scan_facts.yml) 114

12.9.3. 预扫描设置(Pre-scan Setup) 114

12.9.4. 自定义事实扫描(Custom Fact Scans) 115

12.10. 事实缓存(Fact Caching) 116

12.10.1. 事实缓存的好处(Benefits of Fact Caching) 118

12.11. 利用云凭证(Utilizing Cloud Credentials) 118

12.11.1. OpenStack 118

12.11.2. Amazon Web Services 120

12.11.3. Rackspace 120

12.11.4. Google 120

12.11.5. Azure 120

12.11.6. VMware 121

12.11.7. Provisioning Callbacks 121

12.11.8. Passing Extra Variables to Provisioning Callbacks 124

12.11.9. Provisioning Callback through tower-cli 124

12.12. 额外的变量(Extra Variables) 124

12.12.1. 重新启动作业模板(Relaunching Job Templates) 126

13. 工作流作业模板(Workflow Job Templates) 127

13.1. 创建一个工作流模板(Create a Workflow Template) 127

13.2. 使用权限(Work with Permissions) 130

13.3. 使用通知(Work with Notifications) 130

13.4. 调查(Surveys) 131

13.4.1. 创建一个调查(Create a Survey) 131

13.4.2. 可选调查问题(Optional Survey Questions) 133

13.5. 工作流程编辑器(Workflow Editor) 133

13.5.1. 构建工作流程(Build a Workflow) 133

13.6. 启动工作流作业模板(Launch a Workflow Job Template) 138

13.7. 调度(Scheduling) 138

13.7.1. 安排工作流作业模板(Schedule a Workflow Job Template) 139

13.8. 复制工作流作业模板(Copy a Workflow Job Template) 140

13.9. 额外的变量(Extra Variables) 141

14. 工作(Jobs) 142

14.1. 工作详情 – 库存同步(Job Details – Inventory Sync) 144

14.1.1. 细节(Details) 145

14.1.2. 标准输出窗格(Standard Out) 146

14.2. 工作详情 – SCM(Job Details – SCM) 146

14.2.1. 细节(Details) 147

14.2.2. 标准输出(Standard Out) 148

14.3. 工作详情 – 手册运行(Job Details – Playbook Run) 148

14.3.1. 细节(Details) 148

14.3.2. 标准输出窗格(Standard Out Pane) 149

14.4. 作业并发(Job Concurrency) 153

15. 通知(Notifications) 156

15.1. 通知程序层次结构(Notifier Hierarchy) 156

15.2. 工作流程(Workflow) 157

15.3. 创建通知模板(Create a Notification Template) 157

15.4. 通知类型(Notification Types) 158

15.4.1. Email 158

15.4.2. Slack 159

15.4.3. Twilio 159

15.4.4. PagerDuty 160

15.4.5. HipChat 161

15.4.6. Webhook 162

15.4.7. IRC 162

15.5. 配置towerhost主机名(Configuring the towerhost hostname) 163

15.5.1. 重置TOWER_URL_BASE(Resetting the TOWER_URL_BASE) 164

16. 工作流程(Workflows) 164

16.1. 额外的变量(Extra Variables) 165

16.2. 工作流状态(Workflow States) 167

16.3. 基于角色的访问控制(Role-Based Access Controls) 168

概述

感谢您对Ansible Tower的感兴趣。Tower是一个支持图形的框架,可通过Web Interface和REST API端点访问,可用于开源IT编排引擎Ansible。无论是与团队共享操作任务还是通过Tower REST API与Ansible集成,Tower提供了许多强大的工具,使您的自动化生活更轻松。

实时剧本输出和探索(Real-time Playbook Output and Exploration)

观看随时随地运行的剧本,查看每个主机进行登录。轻松返回并详细探索特定任务和主机的结果。搜索特定的播放或主机,并查看这些结果,或快速排除需要更正的错误。

“按钮”自动化(“Push Button” Automation)

访问您最喜欢的项目,并从网页界面重新触发执行,至少点击。塔将要求输入变量,提示您的凭据,启动和监视作业,并显示结果和主持人的历史。

增强和简化基于角色的访问控制和审计(Enhanced and Simplifed Role-Based Access Control and Auditing)

可解析塔允许通过基于角色的访问控制(RBAC)授予对不同团队或显式用户执行特定任务(如查看,创建或修改文件)的权限。

保持一些项目是私有的,同时允许一些用户编辑库存和其他用户只针对某些系统(无论是干运行还是直播模式)运行游戏。您还可以允许某些用户使用凭据,而不向其显示凭据。无论您做什么,塔都记录了作业历史和制作者的历史,包括编辑的对象和作业的发布。

基于用户反馈,Ansible Tower扩展和简化了基于角色的访问控制。通过对库存,项目和凭据的权限组合,不再配置作业模板可见性。如果要给任何用户或团队权限使用作业模板,请直接在作业模板上分配权限。同样,凭据现在是Tower的RBAC系统中的完整对象,可以分配给多个用户和/或团队进行使Tower还引入了一种新的“审核员”类型,他们可以看到系统自动化的所有方面,但对于需要系统级审核员的人员,无权运行或更改自动化。(这对于从塔的API中清除自动化信息的服务帐户也是有用的。)有关详细信息,请参阅基于角色的访问控制

云和自动缩放灵活性(Cloud & Autoscaling Flexibility)

Tower具有强大的配置回调功能,允许节点根据需要请求配置。虽然可选,但这是云自动扩展方案的理想解决方案,与Cobbler等配置服务器集成,或者在处理具有不可预测的运行时间的受管系统时。要求远程节点上没有安装管理软件,可以通过简单的“curl”或“wget”调用来触发回调解决方案,并且可以轻松嵌入到init脚本,kickstart或preseeds中。访问被控制,使得只有库存中的机器才能请求配置。

理想的RESTful API(The Ideal RESTful API)

Tower REST API是系统管理应用程序的理想RESTful API,所有资源都可以完全发现,分页,可搜索和良好的建模。风格化的API浏览器允许API API从API开始,显示每个资源和关系。在用户界面中可以完成的一切都可以在API中完成。http://<Tower server name>/api/

备份还原(Backup and Restore)

备份和还原您的系统的能力已被集成到塔式设置手册中,使您可以根据需要轻松备份和复制您的塔式实例。

Ansible Galaxy 集成 (Ansible Galaxy Integration)

有关详细信息,请参阅可解决的Galaxy支持

OpenStack的库存支持(Inventory Support for OpenStack)

Ansible致力于使OpenStack简单易于使用。作为其中的一部分,为OpenStack添加了动态库存支持。这允许您轻松地定位您在OpenStack云中运行的任何虚拟机或映像。

远程命令执行(Remote Command Execution)

通常情况下,您只需要在几个主机上执行一个简单的任务,无论是添加单个用户,更新单个安全漏洞或重新启动不正常的服务。从2.2.0版开始,Tower包括远程命令执行 – 您可以将其描述为单个可执行的任何任务,可以在清单中的主机或一组主机上运行,​​从而可以快速轻松地管理系统。此外,它都受到Tower的RBAC引擎和详细的审核记录的支持,消除了关于谁做了什么的机器的任何问题。

系统跟踪(System Tracking)

Tower的系统跟踪在版本2.2.0中引入,为您的基础架构带来了新的可见性 – 您可以准确了解系统正在发生的情况,将其与系统的先前状态和群集中的其他系统进行比较,帮助您确保合规。通过Tower的REST API可以访问系统跟踪中可用的丰富且可扩展的数据存储,使您能够将其提供给其他工具和系统。

综合通知(Integrated Notifications)

从版本3.0开始,可安全解析塔允许您轻松跟踪自动化的状态。您可以为作业模板,项目或整个组织配置可堆叠通知,并为作业成功和作业失败配置不同的通知。支持以下通知来源: – 松弛 – 电子邮件 – 通过Twilio的短信 – HipChat – Pagerduty – IRC – Webhooks(发布到任意webhook,用于集成到其他工具中)

卫星和CloudForms集成(Satellite and CloudForms Integration)

Ansible Tower 3.0还为Red Hat Satellite 6和Red Hat CloudForms添加了动态库存来源。

运行时工作定制(Run-time Job Customization)

将命令行的灵活性带到Tower,现在可以提示以下任何一项:

  • 库存
  • 凭据
  • 工作标签
  • 范围

红帽洞察集成(Red Hat Insights Integration)

Ansible Tower 3.1支持 Red Hat Insights集成,允许 Insights剧本用于Tower项目。

Ansible Tower界面简图

Home

《Ansible Tower 用户指南 v3.2.1》

Projects

《Ansible Tower 用户指南 v3.2.1》

Inventories

《Ansible Tower 用户指南 v3.2.1》

Templates

《Ansible Tower 用户指南 v3.2.1》

Jobs-Jobs

《Ansible Tower 用户指南 v3.2.1》

Jobs-Schedules

《Ansible Tower 用户指南 v3.2.1》

登录(Logging In)

要登录Tower,请访问Tower界面: http://<Tower server name>/

《Ansible Tower 用户指南 v3.2.1》

使用有效的Tower用户名和密码登录。

安装期间设置的默认用户名和密码为admin和密码,但Tower管理员可能已在安装过程中更改了这些设置。如果默认设置尚未更改,可以从Settings( 《Ansible Tower 用户指南 v3.2.1》 )菜单中访问Users链接。

导入许可证(Import a License)

Tower需要有效的许可证才能运行。如果您没有从Ansible直接或通过电子邮件收到许可证,或者您收到的许可证有问题,请参阅http://www.ansible.com/license免费和付费许可证选项(包括免费试用许可证)或联系人可以通过红帽客户门户网站https://access.redhat.com/

注意

要成功添加许可证,您必须以超级用户身份登录。否则,操作将失败。

《Ansible Tower 用户指南 v3.2.1》

添加您的许可证:

保存许可证(或将许可证内容保存到本地的文本文件,如果需要)。

单击浏览按钮并导航到保存许可证文件的位置以进行上传。上传的许可证可能是纯文本文件或JSON文件,并且必须包括格式正确的JSON代码。

一旦上传,请检查以同意最终用户许可协议,然后单击提交

一旦您的许可证被接受,Tower将导航到仪表板的主要可解决的界面(您也可以通过点击屏幕左上方的可靠Tower标志来访问)。

以后参考,您可以从设置( 《Ansible Tower 用户指南 v3.2.1》 )菜单的“查看您的许可”链接查看此许可证。

《Ansible Tower 用户指南 v3.2.1》

手动添加Tower许可证(Adding a Tower License Manually)

如果您处于由于锁定环境而不允许上传文件的情况,则可以使用Tower的API手动添加可用的Tower许可证。

注意

要成功添加许可证,您必须以超级用户身份登录。否则,操作将失败。仅使用此处所述的过程通过API应用许可证。不要将许可证放入文件中,并将其手动放置在可安装Tower的安装许可证目录中。在3.1.0版中已经弃用了这样做的能力。

要手动添加许可证文件:

在Tower的REST API中,在/api/v2/config/端点,向下滚动到POST文本输入框。

将您的有效许可证(您从Ansible直接收到的许可证)添加到POST框中,方法如下:

{“eula_accepted” : “true”,

“subscription_name”: “Enterprise Tower up to 100000 Nodes”,

“features”: {},

“instance_count”: 100000,

“trial”: false,

“contact_email”: “maddux@hotdog.com”,

“company_name”: “Dr. Maddux Golden”,

“license_type”: “enterprise”,

“contact_name”: “Dr. Maddux Golden”,

“license_date”: 0000000000,

“license_key”: “xxx111xx111xxx1x1x1x1x1x11x1xxxx1x1xx1x1xx1x1x1x1xxx111xx1x1xx1x”

}

完成后,单击POST按钮并查看您的许可证。

Ansible Tower 仪表盘(The Tower Dashboard and Interface)

注意

Ansible Tower 3.0提供了简化的界面,Settings( 《Ansible Tower 用户指南 v3.2.1》 )按钮提供对管理配置选项的访问。旧版本的可复制Tower(2.4.5或更旧版本)的用户可以通过顶级导航菜单或其“设置”菜单按钮访问其中的大部分。

Tower仪表板为您的IT编排需求提供了一个友好的图形框架。在Tower仪表板左上方,管理员可以快速导航到其“ 项目”,“ 库存”,“ 作业模板 ”和“ 作业”。

在此界面的右上角,管理员可以访问配置组织,用户,组和权限所需的工具,以及查看相关文档,访问门户模式和注销。

《Ansible Tower 用户指南 v3.2.1》

仪表板的顶部是您的主机,库存和项目的摘要。它们中的每一个都与Tower中的相应对象相关联,以便于访问。

《Ansible Tower 用户指南 v3.2.1》

在主Tower显示屏屏幕上,将显示一个摘要,其中列出您当前的作业状态。还可以查看最近使用的作业模板最近运行作业的摘要。

《Ansible Tower 用户指南 v3.2.1》

Tower管理菜单(Tower Admin Menu)

通过点击访问Tower用户菜单 《Ansible Tower 用户指南 v3.2.1》

从这里可以:

查看/编辑Tower管理员帐户的属性

查看该用户的活动流(点击活动流 《Ansible Tower 用户指南 v3.2.1》 按钮)

查看已为Tower用户设置的组织

查看添加Tower用户的团队

查看此Tower管理员帐户的权限

《Ansible Tower 用户指南 v3.2.1》

设置菜单(Settings Menu)

要进入可用Tower的设置菜单屏幕,请单击 《Ansible Tower 用户指南 v3.2.1》 按钮。此屏幕允许您创建组织,添加凭据,添加用户和团队,安排管理作业,修改Tower的配置等。您还可以从设置菜单的“查看许可证”链接查看许可证。

《Ansible Tower 用户指南 v3.2.1》

我的观点 – 用户菜单(My View – User Menu)

我的观点,也称为门户模式,是一个用户的单页视图的作业和作业模板。可以通过单击我的视图( 《Ansible Tower 用户指南 v3.2.1》 )按钮访问它。

我的视图是一个简化的界面,用于需要运行可复制作业的用户,但不需要高级知识的可复制或Tower。我的观点可以被例如开发团队,甚至非技术领域的部门用户使用。

我的观点为Tower用户提供了一个简化,干净的界面,让他们能够运行的工作以及他们过去运行的工作的结果。

按“  《Ansible Tower 用户指南 v3.2.1》 我的视图”中的作业旁边的按钮启动它,如果作业配置为这样做,可能会询问一些调查问题。

界面的其他部分将隐藏,直到我的视图退出。

《Ansible Tower 用户指南 v3.2.1》

我的视图可以通过两种方式访问​​:

  • 通过 《Ansible Tower 用户指南 v3.2.1》 Tower界面右上角的My View()按钮
  • 通过导航 https://<Tower server name>/portal

我的视图显示了两个主要部分 – 作业模板作业

工作模板(Job Templates)

这显示了可供用户运行的作业模板。该列表可以按名称说明进行搜索,也可以按这些键进行排序。要启动作业模板,请单击 《Ansible Tower 用户指南 v3.2.1》 按钮。这将启动该作业,可在“ 我的工作”中查看。

注意

与Tower的主界面不同,您不会自动重定向到作业视图中的已启动作业。此视图仍可通过“ 我的作业”面板中的此作业的“ 查看详细信息”按钮访问。这对于作业失败的实例非常有用,而非技术用户需要可靠的专家查看可能出错的情况。

工作(jobs)

这显示了过去运行的工作列表。

通过点击“ 我的工作”按钮对特定的作业进行排序,或通过点击搜索栏旁边的“ 所有作业”按钮,查看您可以访问的所有作业

我的工作:查看您(作为用户)运行的作业。

所有工作:查看您的团队成员的完成作业,根据您的RBAC权限查看。

对于每个作业,您可以查看作业ID,作业的状态(运行,挂起,成功或失败),其起始时间和作业名称。任务列表可以通过任何这些字段进行排序。单击详细信息按钮将打开一个新窗口,其中包含该作业的作业详细信息(有关详细信息,请参阅作业)。

仪表板视图(Dashboard Views)

Tower的中央接口是仪表板。您将使用仪表板快速查看作业状态,最近运行的作业和最近使用的作业模板。

《Ansible Tower 用户指南 v3.2.1》

工作状态(Job Status)

作业状态图显示指定时间段内成功和失败的作业数。您可以选择限制所查看的作业类型,并更改图形的时间范围。

最近使用的工作模板(Recently Used Job Templates)

此显示的“作业”部分显示最近使用的作业的摘要。您还可以通过单击主导航菜单中的作业条目来访问此摘要。

最近运行工作(Recently Run Jobs)

“最近运行作业”部分显示最近运行的作业,它们的状态以及运行时的注释。

活动流(Activity Streams)

Tower中的大多数屏幕都有一个Activity Stream( 《Ansible Tower 用户指南 v3.2.1》 )按钮。单击此操作将打开此对象的 活动流

《Ansible Tower 用户指南 v3.2.1》

活动流显示特定对象的所有更改。对于每个更改,活动流显示事件的时间,发起事件的用户和操作。单击检查( 《Ansible Tower 用户指南 v3.2.1》 )按钮显示更改的事件日志。

《Ansible Tower 用户指南 v3.2.1》

活动流可以由启动用户(或系统,如果系统启动)以及任何相关的Tower对象(例如特定凭据,作业模板或计划)进行过滤。

主控制板上的活动流显示整个Tower实例的活动流。Tower中的大多数页面允许查看为该特定对象过滤的活动流。

搜索(Search)

“可索引Tower”3.1版引入了Tower Search,它是一款功能强大的搜索工具,可提供涵盖多个功能的搜索和过滤功能。

《Ansible Tower 用户指南 v3.2.1》

可接受的搜索标准是通过一个可扩展的“cheat-sheet”提供的,可从键按钮访问。 《Ansible Tower 用户指南 v3.2.1》

使用全部清除来清除搜索条件。

《Ansible Tower 用户指南 v3.2.1》

搜索技巧(Searching Tips)

关于搜索和过滤的几个规则,以及每个语法的等效语法:

规则 语法等效
搜索不区分大小写。

例: FooBar

name.icontains:foobar
在搜索中输入关键词将在所有字段中找到该术语的所有实例。

示例1: mySearchTerm

示例2:在项目列表中,organization:foo 搜索名称和描述。

name.icontains:mySearchTerm
具体的名称搜索将搜索API名称。

示例:在用户界面中是在API中。Management jobsystem_job

将搜索字符串放在引号内将搜索与该搜索字符串完全匹配的所有实例。

例: “foo bar baz”

AND foo AND bar AND baz
搜索没有引号的术语将搜索与任何条款匹配的任何实例。

例: foo bar baz

OR foo OR bar OR baz

要查找某些字段的值,请参阅API端点以获取广泛的选项及其有效值。例如,如果要搜索/api/v2/jobs- > type字段,您可以通过执行OPTIONS请求/api/v2/jobs并查找API中的条目来查找值”type”。此外,您可以通过滚动到每个屏幕的底部来查看相关搜索。在示例中/api/v2/jobs,相关搜索显示:

“related_search_fields” : [

“schedule__search” ,

“modified_by__search” ,

“job_events__search” ,

“extra_credentials__search” ,

“project__search” ,

“inventory__search” ,

“unified_job_template__search” ,

“unified_job_node__search” ,

“unifiedjob_ptr__search” ,

“instance_group__search” ,

“labels__search” ,“

job_host_summaries__search“ ,

”hosts__search“ ,

”notifications__search“ ,

“project_update__search” ,

“credential__search” ,

“dependent_jobs__search” ,

“job_origin__search” ,

“created_by__search” ,

“job_template__search” ,

“vault_credential__search”

分类(Sort)

使用每列中的箭头按升序或降序排列。

《Ansible Tower 用户指南 v3.2.1》

箭头的方向表示列的排序顺序。

组织(Organizations)

一个组织是一个逻辑集合用户团队项目存货,并在Tower对象层次中的最高水平。

《Ansible Tower 用户指南 v3.2.1》

“ 设置()”菜单中的“ 组织”链接 《Ansible Tower 用户指南 v3.2.1》 显示您安装Tower的所有现有组织。可以通过名称说明搜索组织。使用“ 编辑”和“ 删除”按钮修改和删除组织。

注意

Tower自动创建一个默认组织。Tower用自助支持级别许可证(以前称为基本)用户只有默认的组织提供,且应删除它。旧版本的Tower(2.2之前)的用户将不会看到此默认组织。

《Ansible Tower 用户指南 v3.2.1》

企业:标准和企业:Tower高级许可证允许您通过选择 《Ansible Tower 用户指南 v3.2.1》 按钮创建新的组织。

注意

如果您使用具有自助级别许可证(以前称为“基本”)的可复制Tower,则必须使用默认组织。不要删除它,并尝试添加新的组织,否则您将会破坏您的Tower设置。只有两个Tower许可证类型(企业:标准版或企业版:高级版)能够添加新的组织超出默认值。

  1. 输入您的组织的名称
  2. (可选)输入组织的说明
  3. 单击保存以完成创建组织。

《Ansible Tower 用户指南 v3.2.1》

一旦创建,Tower显示组织的详细信息,并允许管理本组织的用户和管理员。

《Ansible Tower 用户指南 v3.2.1》

组织 – 用户(Organizations – Users)

单击用户(查看组织时,在“ 详细信息”旁边),显示与本组织相关联的所有用户。用户可以访问具有相关角色和凭据的Tower。

《Ansible Tower 用户指南 v3.2.1》

您可以在此处管理本机构的用户成员资格,您可以通过“ 用户”链接(可从“设置”  《Ansible Tower 用户指南 v3.2.1》 菜单中获取)来管理每个用户的用户成员资格。用户列表可以按用户名和角色排序。使用“Tower搜索”可以通过各种属性搜索用户。有关详细信息,请参阅搜索章节。

单击用户将显示该用户的详细信息,允许您查看,授予,编辑和删除该用户的相关权限。有关详细信息,请参阅用户

添加用户(Add a User)

为了将用户添加到组织,用户必须已经在Tower中创建。请参阅创建用户以创建用户。将现有用户添加到组织:

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。
  2. 通过点击用户旁边的复选框从可用用户列表中选择一个或多个用户。这样做会扩展向导的下部,为每个用户分配角色。

《Ansible Tower 用户指南 v3.2.1》

  1. 对于每个用户,从下拉菜单中单击以选择该用户的一个或多个角色。

注意

有关角色意义的帮助,请单击“ 键”按钮。有关详细信息,请参阅本指南的“ 角色”部分。

《Ansible Tower 用户指南 v3.2.1》

在此示例中,已选择两个用户,并且每个用户已被授予该组织内的某些角色。

  1. 完成后点击保存按钮。

组织 – 通知(Organizations – Notifications)

单击通知(查看您的组织时,用户旁边),可以轻松管理此组织的通知。

点击 《Ansible Tower 用户指南 v3.2.1》 按钮创建通知。

支持的通知源包括Slack,Email,SMS(通过Twilio),HipChat等。有关详细信息,请参阅通知

《Ansible Tower 用户指南 v3.2.1》

组织 – 总结(Organization – Summary)

与组织相关联的各种资源的一目了然的视图显示在每个组织视图的底部,称为组织摘要。

《Ansible Tower 用户指南 v3.2.1》

单击每个类别以查看与它们相关联的资源列表。有些允许添加,编辑或删除资源,如用户和管理员,而其他人则需要从用户界面的其他区域进行编辑。

从摘要中,您可以编辑组织( 《Ansible Tower 用户指南 v3.2.1》 )的详细信息或完全删除它( 《Ansible Tower 用户指南 v3.2.1》 )。

《Ansible Tower 用户指南 v3.2.1》

用户(Users)

一个用户是谁的人可以访问Tower与相关权限和凭据。用户链接(通过单击设置( 《Ansible Tower 用户指南 v3.2.1》 )菜单并选择用户)可以管理所有Tower用户。用户列表可能会按用户名名字姓氏标题进行排序和搜索,以切换排序首选项)。

《Ansible Tower 用户指南 v3.2.1》

可以从“创建用户”屏幕分配三种类型的Tower用户:

  • 普通用户:普通用户具有限制用户授予相应角色和权限的资源(如清单,项目和作业模板)的读写访问权限。
  • 系统审核员:审核员隐含地继承了Tower环境中所有对象的只读能力。
  • 系统管理员:Tower系统管理员(也称为超级用户)在整个安装中具有管理员,读取和写入权限。系统管理员通常负责管理Tower的所有方面,并将日常工作的职责委托给各种用户。

《Ansible Tower 用户指南 v3.2.1》

注意

由Tower安装过程创建的初始用户(通常为“admin”)是超级用户。一个超级用户必须始终存在。要删除“admin”用户帐户,您必须先创建另一个超级用户帐户。

创建一个用户(Create a User)

要创建一个新用户:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮,打开“创建用户”对话框。

《Ansible Tower 用户指南 v3.2.1》

  1. 在以下字段中输入适当的详细信息:
  • 名字
  • 电子邮件
  • 用户名
  • 组织(从现有组织中选择 – 如果您使用自助级别许可证,则这是默认组织。)
  • 密码
  • 确认密码
  • 用户类型(系统管理员,超级用户,具有Tower的完整系统管理权限,请谨慎小心!)
  1. 完成后选择保存

用户成功创建后,将为新创建的用户打开“ 用户”对话框。请注意,用户数量的计数也已更新,新用户的新条目将添加到编辑表单下方的用户列表中。如果 《Ansible Tower 用户指南 v3.2.1》 从“ Tower”的“设置”()中的“ 用户”链接单击“ 用户”旁边的“编辑()”按钮,则此对话框将打开 《Ansible Tower 用户指南 v3.2.1》 )。在这里,可以审查和修改用户组织团队权限以及其他用户会员资格。

《Ansible Tower 用户指南 v3.2.1》

用户类型 – 快速查看(User Types – Quick View)

创建用户后,您可以通过在“用户概述”屏幕中查看其用户名旁边轻松查看权限和用户类型信息。

《Ansible Tower 用户指南 v3.2.1》

如果用户帐户与企业级身份验证方法(如SAML,RADIUS或LDAP)相关联,则用户类型可能如下所示:

《Ansible Tower 用户指南 v3.2.1》

如果用户帐户与社交认证方法相关联,则用户类型将如下所示:

《Ansible Tower 用户指南 v3.2.1》

用户 – 组织(Users – Organizations)

这将显示该用户所属组织的列表。可以按组织名称或说明搜索此列表。组织会员资格无法从此显示面板修改。

《Ansible Tower 用户指南 v3.2.1》

用户 – 团队(Users – Teams)

这将显示该用户是其成员的团队列表。可以通过团队名称说明搜索此列表。团队成员资格无法从此显示面板修改。有关更多信息,请参阅团队

在创建团队并将用户分配给该团队之前,用户的“指派团队详细信息”将显示为空白。

《Ansible Tower 用户指南 v3.2.1》

用户 – 权限(Users – Permissions)

分配给此用户的一组权限(基于角色的访问控制)提供读取,修改和管理项目,库存,作业模板和其他Tower元素的权限是权限。

此屏幕显示当前可用于所选用户的权限列表。可以通过名称类型角色对特权列表进行排序和搜索。

《Ansible Tower 用户指南 v3.2.1》

添加权限(Add Permissions)

要向特定用户添加权限:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮,打开添加权限向导。

《Ansible Tower 用户指南 v3.2.1》

  1. 单击以选择用户可以访问的Tower对象:
    • 作业模板。这是添加权限向导中显示的默认选项卡。
    • 工作流模板
    • 项目
    • 存货
    • 证书

注意

您可以同时为不同的资源分配不同的角色,以避免不必单击 《Ansible Tower 用户指南 v3.2.1》 按钮。要做到这一点,只需在选择之后从一个选项卡转到另一个选项卡,而不保存。

  1. 执行以下步骤为每种类型的资源分配用户特定的角色:
    • 在所需的选项卡中,单击资源名称旁边的复选框以将其选中。

该对话框将展开,以便您选择所选资源的角色。

    • 从提供的下拉菜单列表中选择角色:
      • 管理员可以读取,运行和编辑权限(适用于所有Tower对象)
      • 执行允许读取和运行权限(适用于作业模板和工作流模板)
      • 使用允许在作业模板中使用项目(适用于项目,库存和凭据)
      • 更新允许通过SCM更新(适用于项目和清单)更新项目,库存或组
      • Ad Hoc允许运行ad hoc命令(适用于库存)

《Ansible Tower 用户指南 v3.2.1》

小建议

使用按钮显示适用于所选资源的每个角色的帮助文本。

    • 通过单击添加权限向导的扩展部分2中各自的按钮,查看每个Tower对象的角色分配。

《Ansible Tower 用户指南 v3.2.1》

    • 完成后,单击保存,并关闭“添加权限向导”,为具有为每个所选资源分配的角色的用户显示更新的配置文件。

《Ansible Tower 用户指南 v3.2.1》

要删除特定用户的权限,请单击“ 操作” 《Ansible Tower 用户指南 v3.2.1》 下的Disassociate()按钮。这将启动“ 删除角色”对话框,要求您确认解除关联。

注意

您还可以添加团队或个人用户,并在对象级别(项目,清单,作业模板和工作流模板)中分配权限。可解析Tower版本3.1引入了批量分配权限的能力。此功能可以减少组织一次在多个用户上运行的时间。有关更多详细信息,请参阅“ 可用安全Tower用户指南”v3.2.1中各自的章节。

团队(Teams)

一个团队是相关联的用户,项目,凭证和权限的组织的一个分支。团队提供了实施基于角色的访问控制计划和委托各组织的责任的手段。例如,权限可以授予整个团队,而不是团队中的每个用户。

您可以为您的组织创造尽可能多的用户群体。每个团队都可以分配权限,就像用户一样。

团队还可以扩展分配凭证的所有权,防止多个Tower接口点击通过相同的凭据分配给同一用户。

通过点击“设置( 《Ansible Tower 用户指南 v3.2.1》 )”按钮,然后选择“ 团队 ”可以访问“团队”链接,您可以管理Tower的团队。团队列表可以通过名称描述组织进行排序和搜索。

“ 小组”选项卡右上角的按钮提供以下操作:

  • 查看活动流
  • 创建一个新的团队

《Ansible Tower 用户指南 v3.2.1》

创建一个团队(Create a Team)

创建一个新的团队:

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。

《Ansible Tower 用户指南 v3.2.1》

  1. 在以下字段中输入适当的详细信息:
  • 名称
  • 说明(可选)
  • 组织(从现有组织中选择)
  1. 单击保存

小组成功创建后,Tower将打开“ 详细信息”对话框,该对话框还允许您查看和编辑团队信息。如果 《Ansible Tower 用户指南 v3.2.1》 从“ 团队”链接单击“编辑()”按钮,则这是打开的菜单。您还可以查看与此团队关联的用户和 权限

《Ansible Tower 用户指南 v3.2.1》

团队 – 用户(Teams – Users)

此菜单显示作为此团队成员的用户列表。此列表可能以用户名名字姓氏搜索。有关详细信息,请参阅用户

《Ansible Tower 用户指南 v3.2.1》

添加用户(Add a User)

为了将用户添加到团队,用户必须已经在Tower中创建。请参阅创建用户以创建用户。将现有用户添加到团队中:

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。
  2. 通过点击用户旁边的复选框从可用用户列表中选择一个或多个用户。这样做会扩展向导的下部,为每个用户分配角色。

《Ansible Tower 用户指南 v3.2.1》

  1. 对于每个用户,从下拉菜单中单击以选择该用户的一个或多个角色。

注意

有关角色意义的帮助,请单击“ 键”按钮。有关详细信息,请参阅本指南的“ 角色”部分。

《Ansible Tower 用户指南 v3.2.1》

在此示例中,已选择两个用户,并且每个用户已被授予该团队中的某些角色。

  1. 完成后点击保存按钮。

团队 – 权限(Teams – Permissions)

选择权限视图显示当前可用于此团队的权限列表。可以通过名称库存项目权限类型对权限列表进行排序和搜索。

《Ansible Tower 用户指南 v3.2.1》

分配给团队的一组权限,提供读取,修改和管理项目,清单和其他Tower元素的权限是权限。

默认情况下,团队获得“读取”权限(也称为角色)。

权限必须通过清单,项目,作业模板或组织视图中显式设置。

添加团队权限(Add Team Permissions)

要向团队添加权限:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮,打开添加权限向导。

《Ansible Tower 用户指南 v3.2.1》

  1. 单击以选择用户可以访问的Tower对象:
    • 作业模板。这是添加权限向导中显示的默认选项卡。
    • 工作流模板
    • 项目
    • 存货
    • 证书

注意

您可以同时为不同的资源分配不同的角色,以避免不必单击 《Ansible Tower 用户指南 v3.2.1》 按钮。要做到这一点,只需在选择之后从一个选项卡转到另一个选项卡,而不保存。

  1. 执行以下步骤为每种类型的资源分配用户特定的角色:
    • 在所需的选项卡中,单击资源名称旁边的复选框以将其选中。

该对话框将展开,以便您选择所选资源的角色。

    • 从提供的下拉菜单列表中选择角色:
      • 管理员可以读取,运行和编辑权限(适用于所有Tower对象)
      • 执行允许读取和运行权限(适用于作业模板和工作流模板)
      • 使用允许在作业模板中使用项目(适用于项目,库存和凭据)
      • 更新允许通过SCM更新(适用于项目和清单)更新项目,库存或组
      • Ad Hoc允许运行ad hoc命令(适用于库存)

《Ansible Tower 用户指南 v3.2.1》

小技巧

使用按钮显示适用于所选资源的每个角色的帮助文本。

    • 通过单击添加权限向导的扩展部分2中各自的按钮,查看每个Tower对象的角色分配。

《Ansible Tower 用户指南 v3.2.1》

    • 完成后,单击保存,并关闭“添加权限向导”,为具有为每个所选资源分配的角色的用户显示更新的配置文件。

《Ansible Tower 用户指南 v3.2.1》

要删除特定用户的权限,请单击“ 操作” 《Ansible Tower 用户指南 v3.2.1》 下的Disassociate()按钮。这将启动“ 删除角色”对话框,要求您确认解除关联。

注意

您还可以添加团队或个人用户,并在对象级别(项目,清单,作业模板和工作流模板)中分配权限。可解析Tower版本3.1引入了批量分配权限的能力。此功能可以减少组织一次在多个用户上运行的时间。有关更多详细信息,请参阅“ 可用安全Tower用户指南”v3.2.1中各自的章节。

凭证(Credentials)

凭借台式机启动作业,与库存来源同步,以及从版本控制系统导入项目内容,Tower使用凭据。

您可以授予用户和团队使用这些凭据的能力,而不会将凭据实际暴露给用户。如果您有一个用户移动到不同的团队或离开组织,则您不必重新键入所有系统,只因为该凭据在Tower中可用。

注意

Tower加密Tower数据库中的密码和密钥信息,永远不会通过API显示秘密信息。

了解凭证如何工作(Understanding How Credentials Work)

可靠的Tower使用SSH连接到远程主机(或Windows等效)。为了将密钥从Tower传递给SSH,密钥必须先被解密才能写入命名管道。Tower然后使用该管道将密钥发送到SSH(使其永远不会写入磁盘)。

如果使用密码,Ansyl Tower会在直接提示密码之前对其进行处理,并在将其写入提示之前解密该密码。

加密/解密算法使用Fernet的变体:使用CBC模式中的AES-256与SHA-256 HMAC一起使用的对称加密密码。关键是从SECRET_KEY(在awx设置中找到)导出的。Tower中的具体,敏感,模型字段被加密,包括:

凭证: 密码, ssh_key_data , ssh_key_unlock , become_password , vault_password

UnifiedJob : start_args

数据在保存到数据库之前被加密,并按照Tower所需的解密。加密/解密过程导出AES-256位加密密钥,它是Model字段的名称,是数据库分配的自动递增记录ID。因此,如果密钥生成过程中使用的任何属性发生更改,则Tower无法正确解密密钥。<SECRET_KEY, field_name, primary_key>field_nameprimary_key

注意

的加密和解密用于AnsibleTower规则也适用于一个场的凭据以外,统一作业start_args场,这是通过使用job,ad_hoc_command和system_job数据类型。

证书入门(Getting Started with Credentials)

可以从Setting()按钮访问的Credentials链接 《Ansible Tower 用户指南 v3.2.1》 显示所有可用凭据的列表。它可以通过名称描述类型所有者进行排序和搜索。

《Ansible Tower 用户指南 v3.2.1》

添加到团队的凭证将提供给团队的所有成员,而默认情况下,添加到用户的凭据仅适用于该特定用户。

为了帮助您入门,已经创建了演示凭据,供您使用。

点击Demo凭据的链接,可以进入该凭据的“ 详细信息”视图。

《Ansible Tower 用户指南 v3.2.1》

单击权限显示与此凭据相关联的用户和团队及其授予的角色(所有者,管理员,审核员等)

《Ansible Tower 用户指南 v3.2.1》

您可以点击 《Ansible Tower 用户指南 v3.2.1》 按钮将此演示证书分配给其他用户或团队。

添加新证书(Add a New Credential)

创建新凭证:

  1. 单击“ 凭据”屏幕 《Ansible Tower 用户指南 v3.2.1》 右上角的按钮。

《Ansible Tower 用户指南 v3.2.1》

  1. 在“ 名称”字段中输入新凭证的名称
  2. (可选)输入或选择与凭证相关联的组织的名称。
  3. 输入或选择要创建的凭证类型。

《Ansible Tower 用户指南 v3.2.1》

  1. 根据所选凭证的类型输入适当的详细信息,如以下各节所述。
  2. 完成后点击保存

凭证类型(Credential Types)

Amazon Web Services

选择此凭据类型可以使云库存与Amazon Web Services同步。

《Ansible Tower 用户指南 v3.2.1》

传统的Amazon Web Services凭据由AWS Access KeySecret Key组成

Ansys Tower版本2.4.0引入了对EC2 STS令牌的支持(有时称为IAM STS凭证)。安全令牌服务(STS)是一种Web服务,可让您为AWS身份和访问管理(IAM)用户请求临时的,有限权限的凭据。要了解有关IAM / EC2 STS令牌的更多信息,请参阅:http : //docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html

AWS凭证包括:

AWS_ACCESS_KEY_ID

AWS_SECRET_ACCESS_KEY

AWS_SECURITY_TOKEN

注意

如果EC2中的代码值包含布尔值(yes / no / true / false),则必须记住引用它们。

警告

要使用隐式IAM角色凭据,请勿在依靠IAM角色访问AWS API时在Tower中附加AWS云凭证。将您的AWS云凭证附加到您的工作模板似乎是有意义的,这样做将强制使用您的AWS凭据,并且不会“通过”使用您的IAM角色凭据(这是由于使用boto图书馆。)

Google Compute Engine

选择此凭据类型可以实现Cloud Inventory与Google Compute Engine的同步化。

《Ansible Tower 用户指南 v3.2.1》

Google Compute Engine凭据具有可配置的几个属性:

  • 服务帐户电子邮件地址:分配给Google Compute Engine 服务帐户的电子邮件地址。
  • 项目:GCE分配识别。它被构造为两个字,后跟三位数字,例如:squeamish-ossifrage-123。
  • RSA私钥:与服务帐户电子邮件相关联的PEM文件。

Insights

选择此凭据类型可以实现云端清单与Red Hat Insights的同步。

《Ansible Tower 用户指南 v3.2.1》

洞察凭据由Insights 用户名密码组成,用户名密码是用户的红帽客户门户帐户用户名和密码。

Machine

机器凭据使Tower能够在您管理的主机上调用Ansible。就像在命令行中使用Ansible一样,您可以指定SSH用户名,可选择提供密码,SSH密钥,密钥密码,甚至有Tower在部署时提示用户输入密码。他们定义了ssh和用户级特权升级访问的播放簿,并在提交作业以在远程主机上运行播放时使用。

《Ansible Tower 用户指南 v3.2.1》

机器凭据具有可配置的几个属性:

  • 用户名:用于SSH认证的用户名。
  • 密码:用于SSH认证的实际密码。如果输入,该密码将被加密存储在Tower数据库中。或者,您可以配置Tower在启动时向用户询问密码,方法是选择“启动时提示”。在这些情况下,作业启动时会打开一个对话框,促使用户输入密码和密码确认。
  • SSH私钥:复制或拖放机器凭证的SSH私钥。
  • 私钥密码:如果使用的SSH私钥由密码保护,则可以为私钥配置密码密码。如果输入,该密码将被加密存储在Tower数据库中。或者,您可以通过在启动时选择提示来配置Tower在启动时向用户询问密码。在这些情况下,作业启动时会打开一个对话框,提示用户输入密码和密码确认。
  • 特权升级方法:指定特定用户分配的升级特权的类型。这相当于指定–become-method=BECOME_METHOD参数,哪里BECOME_METHOD可以。sudo | su | pbrun | pfexec | dzdo | pmrun
    • 空选择:不向该凭证分配任何特权升级。
    • sudo:使用超级用户(root用户)特权执行单个命令
    • su:切换到超级用户(root用户)帐户(或其他用户帐户)
    • pbrun:请求应用程序或命令在受控帐户中运行,并提供高级根权限委派和键盘记录。
    • pfexec:使用预定义的进程属性(如特定用户或组ID)执行命令。
    • dzdo:在Centrify的Active Directory服务中使用RBAC信息的sudo的增强版本(请参阅Centrify 在DZDO上站点
    • pmrun:请求应用程序在受控帐户中运行(请参阅Unix 6.0的Privilege Manager
    • runas:允许您作为当前用户运行。

《Ansible Tower 用户指南 v3.2.1》

  • 仅当选择了特权升级选项时才会看到“ 权限升级用户名”字段。输入在远程系统上使用升级权限的用户名。
  • 特权升级密码:仅当选择了特权升级选项时才会看到该字段。输入用于通过远程系统上选定的特权升级类型对用户进行身份验证的实际密码。如果输入,该密码将被加密存储在Tower数据库中。或者,您可以通过在启动时选择提示来配置Tower在启动时向用户询问密码。在这些情况下,作业启动时会打开一个对话框,促使用户输入密码和密码确认。

注意

Sudo密码必须与SSH密码或SSH私钥组合使用,因为Tower必须首先在主机上建立一个经过身份验证的SSH连接,然后才能调用sudo才能更改为sudo用户。

警告

在计划作业中使用的凭证不能配置为“ 启动时提示 ”。

Microsoft Azure Classic(已弃用)

选择此凭据类型可以实现云库存与Windows Azure Classic的同步。

《Ansible Tower 用户指南 v3.2.1》

Microsoft Azure凭据具有若干属性要配置:

  • 订阅ID:Microsoft Azure Classic帐户的订阅UUID。
  • 管理证书:与您在Microsoft Azure Classic控制台中上传的证书对应的PEM文件。

Microsoft Azure Resource Manager

选择此凭证类型可以使云库存与Microsoft Azure资源管理器同步。

《Ansible Tower 用户指南 v3.2.1》

Microsoft Azure资源管理器凭据具有若干属性要配置:

  • 订阅ID:Microsoft Azure帐户的订阅UUID。
  • 用户名:用于连接到Microsoft Azure帐户的用户名。
  • 密码:用于连接到Microsoft Azure帐户的密码。
  • 客户端ID:Microsoft Azure帐户的客户端ID。
  • 客户端秘密:Microsoft Azure帐户的客户机密码。
  • 租户ID:Microsoft Azure帐户的租户ID。

这些字段相当于API中的变量。要传递服务主体凭据,请定义以下变量:

AZURE_CLIENT_ID

AZURE_SECRET

AZURE_SUBSCRIPTION_ID

AZURE_TENANT

要传递Active Directory用户名/密码对,请定义以下变量:

AZURE_AD_USER

AZURE_PASSWORD

AZURE_SUBSCRIPTION_ID

您也可以将凭据作为参数传递给一个任务在一个playbook。优先级的顺序是参数,然后是环境变量,最后是在您的主目录中找到的文件。

要将凭据作为参数传递到任务,请为服务主体凭据使用以下参数:

CLIENT_ID

秘密

subscription_id

租户

或者,传递Active Directory用户名/密码的以下参数:

ad_user

password

subscription_id

Network

安全网络模块使用网络凭据来连接和管理网络设备。

《Ansible Tower 用户指南 v3.2.1》

网络凭据具有可配置的几个属性:

  • 用户名:与网络设备配合使用的用户名。
  • 密码:与网络设备配合使用的密码。
  • SSH私钥:复制或拖放实际的SSH私钥,用于通过SSH将用户认证到网络。
  • 私钥密码:用于通过SSH认证用户到网络的私钥的实际密码。
  • 授权:从选项字段中选择此项,以添加使用密码对RSA密钥进行签名的授权密码
  • 如果选中“ 授权”,请在“ 授权密码”字段中输入密码。

OpenStack

选择此凭据类型可以实现云库存与OpenStack的同步。

《Ansible Tower 用户指南 v3.2.1》

OpenStack凭证具有可配置的几个属性:

  • 用户名:用于连接到OpenStack的用户名。
  • 密码(API密钥):用于连接到OpenStack的密码或API密钥。
  • 主机(验证URL):用于验证的主机。
  • 项目(租户名称):用于OpenStack的租户名称或租户ID。该值通常与用户名相同。
  • 域名:用于连接到OpenStack的FQDN。

如果您有兴趣使用OpenStack Cloud Credentials,请参阅本指南中的“ 利用云凭据”了解更多信息,包括示例性的手册。

Red Hat Cloud Forms

选择此凭证类型可以实现云端库存与Red Hat CloudForms的同步。

《Ansible Tower 用户指南 v3.2.1》

CloudForms可以配置几个属性:

  • CloudForms URL:要连接的CloudForms URL或IP地址。
  • 用户名:用于连接到CloudForms的用户名。
  • 密码:用于连接到CloudForms的密码。

其他资源:

请参阅Red Hat关于Red Hat CloudForms 4.1中的可靠Tower集成的博客文章,网址为 http://cloudformsblog.redhat.com/2016/07/22/ansible-tower-in-cloudforms/

Red Hat Satellite 6

选择此凭据类型可以实现与Red Hat Satellite 6的云库存同步。

《Ansible Tower 用户指南 v3.2.1》

卫星凭据具有可配置的几个属性:

  • 卫星6 URL:Satellite 6要连接的URL或IP地址。
  • 用户名:用于连接卫星的用户名6。
  • 密码:用于连接卫星的密码6。

Source Control

与项目一起使用SCM(源代码控制)凭证从远程版本控制系统(如Git,Subversion或Mercurial)克隆和更新本地源代码存储库。

《Ansible Tower 用户指南 v3.2.1》

源控制凭据具有可配置的几个属性:

  • 用户名:与源代码管理系统配合使用的用户名。
  • 密码:与源代码管理系统配合使用的密码。
  • SCM私钥:复制或拖放实际的SSH私钥,用于通过SSH向源控制系统认证用户。
  • 私钥密码:如果使用的SSH私钥使用密码保护,则可以为密钥配置密钥密码。

注意

源控制凭据无法配置为“ 启动时提示 ”。

Vault

选择此凭证类型可使库存与可安全库同步。

《Ansible Tower 用户指南 v3.2.1》

保险柜凭据只有可以配置的保险库密码属性。您可以通过在启动时选择提示来配置Tower在启动时向用户询问密码。在这些情况下,作业启动时会打开一个对话框,促使用户输入密码和密码确认。

警告

在计划作业中使用的凭证不能配置为“ 启动时提示 ”。

有关可用保险库的更多信息,请参阅:http ://docs.ansible.com/ansible/playbooks_vault.html

VMware vCenter

选择此凭证类型可使库存与VMware vCenter同步。

《Ansible Tower 用户指南 v3.2.1》

VMware凭据具有可配置的几个属性:

  • vCenter主机:要连接的vCenter主机名或IP地址。
  • 用户名:用于连接到vCenter的用户名。
  • 密码:用于连接到vCenter的密码。

注意

如果VMware客户机工具没有在实例上运行,则VMware库存状态同步可能不会返回该实例的IP地址。

项目(Projects)

一个项目是在Tower代表的可复制的剧本的逻辑集合。

您可以通过将其手动放置在Tower服务器上的“项目路径”下,或将Playbook放置在Tower支持的源代码管理(SCM)系统中,包括Git,Subversion,Mercurial和Red Hat,来管理剧本和剧本目录。洞察。要创建Red Hat Insights项目,请参阅设置Insights项目

注意

默认情况下,项目基础路径是/var/lib/awx/projects,但这可能已由Tower管理员修改。它配置在/etc/tower/settings.py。编辑此文件时请小心,因为不正确的设置可能会禁用您的安装。

此菜单显示当前可用的项目列表。可以按状态名称类型对项目列表进行排序和搜索。对于列出的每个项目,您可以使用编辑和删除图标编辑项目属性并删除项目。

《Ansible Tower 用户指南 v3.2.1》

状态指示项目的状态,可能是以下之一(请注意,您还可以按特定状态类型过滤视图):

  • 待处理 – 源控件更新已创建,但未排队或启动。任何作业(不仅仅是源代码控制更新)将保持待定状态,直到它实际上准备好由系统运行。因为它具有当前正在运行的依赖关系,因此它必须等待直到完成,或者没有足够的容量才能在配置的位置运行,因此没有准备好。
  • 等待 – 源代码管理更新在等待执行的队列中。
  • 正在运行 – 源代码管理更新正在进行中。
  • 成功 – 该项目的最后一个源代码管理更新成功。
  • 失败 – 此项目的最后一个源代码管理更新失败。
  • 错误 – 最后的源代码管理更新作业完全无法运行。(不推荐使用)
  • 已取消 – 项目的最后一个源代码管理更新已取消。
  • 从未更新 – 项目配置为源代码控制,但从未更新。
  • OK – 项目未配置为源代码管理,并且位置正确。(不推荐使用)
  • 缺少 – 项目基础路径/var/lib/awx/projects(适用于手动或源代码控制管理项目)缺少项目。

在“ 操作”下,可以执行以下操作:

  • 更新 – 如果为此项目配置,则调用来自源代码控制的即时更新
  • 计划 – 如果为此项目配置,请安排来自源代码控制的更新
  • 编辑 – 编辑项目
  • 删除 – 删除项目

注意

凭证类型手册的项目无法更新或计划基于源代码管理的操作,而不会重新配置为SCM类型凭据。

添加一个新项目(Add a new project)

创建一个新项目:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮,启动“ 创建项目”对话框。

《Ansible Tower 用户指南 v3.2.1》

  1. 在以下字段中输入适当的详细信息:
  • 名称
  • 说明(可选)
  • 组织(项目必须至少有一个组织,现在选择一个组织来创建项目,然后在项目创建之后,您可以添加其他组织。)
  • SCM类型(选择手动,Git,Subversion或Mercurial之一)。有关详细信息,请参阅本指南中的手动管理手册使用源代码控制管理剧本

注意

如果添加手动项目,项目根文件夹内的每个项目路径只能分配给一个项目。如果您收到以下消息,请确保尚未为现有项目分配项目路径:

All of the project paths have been assigned to existing projects, or there are no directories found in the base path. You will need to add a project path before creating a new project.

  1. 完成后点击保存

使用权限(Work with Permissions)

分配给此项目(基于角色的访问控制)提供读取,修改和管理项目,库存,作业模板和其他Tower元素的权限集是权限。

此屏幕显示当前可用于所选用户的权限列表。可以通过名称类型角色对特权列表进行排序和搜索。

《Ansible Tower 用户指南 v3.2.1》

添加权限(Add Permissions)

权限选项卡允许您查看,授予,编辑和删除用户相关权限,以及团队成员。要为此资源的特定用户分配权限:

  1. 单击权限选项卡。
  2. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮打开“添加用户/团队”窗口。

《Ansible Tower 用户指南 v3.2.1》

  1. 指定具有访问权限的用户或团队,然后分配具体角色:
  2. 单击以选择用户或团队的名称旁边的一个或多个复选框以选择它们。

注意

您可以通过在“ 用户”和“ 团队”选项卡之间导航而不保存来同时选择多个用户和团队。

选择完成后,窗口将展开,以便您可以从您选择的每个用户或团队的下拉菜单列表中选择一个角色。

《Ansible Tower 用户指南 v3.2.1》

以上示例显示与库存相关的选项。不同的资源有不同的选择:

  • 管理员可以读取,运行和编辑权限(适用于所有资源)
  • 使用允许在作业模板中使用资源(应用除作业模板之外的所有资源)
  • 更新允许通过SCM更新更新项目(适用于项目和清单)
  • Ad Hoc允许使用Ad Hoc命令(适用于库存)
  • 执行允许启动作业模板(适用于作业模板)

技巧

使用密钥在角色选择窗格按钮显示每个角色的描述。

  1. 选择要应用于所选用户或团队的角色。

注意

您可以通过在“ 用户”和“ 团队”选项卡之间导航而不保存来为多个用户和团队分配角色。

《Ansible Tower 用户指南 v3.2.1》

  1. 查看每个用户和团队的角色分配。

《Ansible Tower 用户指南 v3.2.1》

  1. 完成后单击保存,并关闭“添加用户/团队”窗口,以显示为每个用户和团队分配的更新角色。

《Ansible Tower 用户指南 v3.2.1》

要删除特定用户的权限,请单击其资源旁边的Disassociate(x)按钮。

《Ansible Tower 用户指南 v3.2.1》

这将启动确认对话框,要求您确认解除关联。

《Ansible Tower 用户指南 v3.2.1》

使用通知(Work with Notifications)

点击通知可以查看您设置的任何通知集成。

《Ansible Tower 用户指南 v3.2.1》

点击 《Ansible Tower 用户指南 v3.2.1》 按钮创建通知。

有关详细信息,请参阅通知

《Ansible Tower 用户指南 v3.2.1》

手动管理剧本(Manage playbooks manually)

  • 创建一个或多个目录以在Project Base Path下存储剧本(例如/ var / lib / awx / projects /)
  • 将剧本文件创建或复制到播放目录中。
  • 确保播放目录和文件由Tower服务运行的相同的UNIX用户和组拥有。
  • 确保权限适用于剧本目录和文件。

如果在添加项目路径时遇到问题,请检查项目目录和文件的权限和SELinux上下文设置。

警告

如果您没有将任何可执行的剧本目录添加到基本项目路径,您将收到Tower的以下消息:

《Ansible Tower 用户指南 v3.2.1》

通过创建适当的剧本目录并从您的SCM中查看剧本,或以其他方式将剧本复制到相应的剧本目录中来纠正此问题。

使用源代码管理来管理剧本(Manage playbooks using Source Control)

  1. SCM类型下拉菜单列表中选择适当的选项。
  2. 在以下字段中输入适当的详细信息:
  • SCM URL – 请参阅帮助 《Ansible Tower 用户指南 v3.2.1》 文本中的示例。
  • SCM分支 – 可选择输入Mercurial的SCM分支,或者为Git输入SCM分支,变量或修订
  • 修订# – 可选输入Subversion版本号
  • SCM凭证 – 如果需要身份验证,请选择适当的SCM凭据
  • SCM更新选项
  • 清洁 – 在执行更新之前删除任何本地修改。
  • 删除更新 – 在执行更新之前全部删除本地存储库。根据存储库的大小,这可能会显着增加完成更新所需的时间。
  • 启动更新 – 每次使用此项目运行作业时,在启动作业之前,请对本地存储库执行更新。为了避免作业溢出,如果作业比项目可以同步更快,选择此选项可以配置缓存超时以缓存先前的项目同步一段时间。

《Ansible Tower 用户指南 v3.2.1》

  1. 单击保存以保存您的项目。

技巧

使用Github链接提供了一种使用手册的简单方法。为了帮助您开始使用,请使用以下helloworld.yml文件:https//github.com/ansible/tower-example.git

此链接提供了一个非常相似的手册,该手册是根据“ 可读Tower快速入门指南”中的说明手动创建的。无论如何,使用它不会改变或损害您的系统。

从源代码管理更新项目(Updating projects from source control)

  1. 通过单击 《Ansible Tower 用户指南 v3.2.1》 按钮更新现有的基于SCM的项目。

注意

请注意,在添加项目设置以使用源代码控制之后,“Sync”将立即从配置的源代码控件中获取项目详细信息。

《Ansible Tower 用户指南 v3.2.1》

  1. 点击“ 状态”(最左边的项目名称旁边)的点,以获取有关更新过程的更多详细信息。

《Ansible Tower 用户指南 v3.2.1》

3.要设置从SCM更新项目的时间表,请单击 《Ansible Tower 用户指南 v3.2.1》 按钮。这将导航到“ 计划”屏幕。

《Ansible Tower 用户指南 v3.2.1》

此屏幕显示当前可用于所选项目的计划列表。可以通过Name对排程列表进行排序和搜索。

时间表列表包括:

  • 名称:单击计划名称将打开“ 编辑计划”对话框
  • 第一次运行:这个任务的第一个预定运行
  • 下一个运行:下一个这个任务的运行
  • 最终运行:如果任务具有结束日期,则这是任务的最后计划运行。

“ 排程”屏幕右上角的按钮提供以下操作:

  • 创建一个新的时间表
  • 刷新此视图
  • 查看活动流

添加新的时间表(Add a new schedule)

创建新的时间表:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮,打开“ 添加计划”对话框。

《Ansible Tower 用户指南 v3.2.1》

  1. 在以下字段中输入适当的详细信息:
  • 名称(必填)
  • 开始日期(必填)
  • 开始时间(必填)
  • 本地时区 – 输入的开始时间应在此时区
  • UTC开始时间 – 从开始时间+本地时区计算
  • 重复频率 – 根据您选择的频率显示适当的调度选项

算法说明允许您查看设定的时间表,并在选定的本地时区安排事件的列表。

警告

工作预定在UTC。在夏令时间偏移发生时,重复在特定时间运行的作业可能会相对于本地时区移动。基本上,当保存计划时,Tower会将基于本地时区的时间解析为UTC。为了确保您的日程安排正确,您应该按UTC时间设置您的日程表。

  1. 完成后,点击保存

您可以使用ON / OFF切换按钮来停止活动计划或激活已停止的计划。

项目的计划概述屏幕还会显示您何时安排了第一个,下一个和最后一个运行。

“ 操作”列下有几个可用于计划的操作

  • 编辑计划
  • 删除时间表

《Ansible Tower 用户指南 v3.2.1》

Ansible Galaxy支持(Ansible Galaxy Support)

在项目更新结束时,Tower搜索位于project-top-level-directory> / roles / requirements.yml requirements.yml的roles目录中调用的文件。如果找到此文件,则会自动运行以下命令:

ansible galaxy install r roles / requirements yml p ./ roles / force

此文件允许您引用其他存储库中的Galaxy角色或角色,可以与您自己的项目一起检出。添加此可靠的Galaxy支持消除了创建git子模块以实现此结果的需要。

有关requirements.yml文件语法的更多信息和示例,请参阅可选文档中的高级控制角色要求

库存清单(Inventories)

一个清单是针对该作业可能会被推出,同样作为Ansible清单文件主机的集合。库存分为几组,这些组包含实际的主机。可以通过将主机名输入Tower或从可解析Tower支持的云提供商之一手动获取组。

注意

如果您有自定义动态库存脚本,或者Tower架本身尚未支持的云提供商,那么您也可以将其导入Tower。参考Tower管理指南

此选项卡显示当前可用库存的列表。库存清单可以按名称类型组织进行排序和搜索。

《Ansible Tower 用户指南 v3.2.1》

库存明细清单包括:

  • 库存同步《Ansible Tower 用户指南 v3.2.1》 ):绿色表示清单中的成功同步,红色表示失败的同步。如果广告资源具有能够同步的来源,点击此图标会显示最近五个广告资源来源同步和来源信息的同步状态。

《Ansible Tower 用户指南 v3.2.1》

  • 状态点:显示此库存的最近作业的状态。
  • 名称:库存名称。单击库存名称导航到所选库存的属性屏幕,显示库存的组和主机。(此视图也可以从 《Ansible Tower 用户指南 v3.2.1》 图标访问。)
  • 类型:标识它是标准库存还是智能库存。
  • 组织:库存所属的组织。
  • 操作:所选清单可以使用以下操作:
    • 编辑:编辑所选库存的属性
    • 删除:删除所选的广告资源。这个操作不能扭转!

智能库存(Smart Inventories)

智能库存是由存储的搜索定义的主机的集合,可以像标准库存一样被查看,并被轻易地用于作业运行。组织管理员对其组织中的库存具有管理权限,并可以创建智能库存。智能库存由KIND=smart。您可以使用与Tower Search一起使用的相同方法定义智能库存。InventorySource与库存直接关联。

Inventory默认情况下,该模型具有以下新的空白字段,但相应地为智能库存设置:

  • kind被设置smart为智能库存
  • host_filter被设置为“和” kind设置smart为“智能库存”。

该host模型有一个新的字段,smart_inventories它使用一个会员查找表来标识一个主机与之关联的所有Smart Inventory的集合。会员资格由任务生成。任务在以下情况下启动:

  • 添加了一个新的主机
  • 修改(更新或删除)现有主机
  • 添加了一个新的智能库存
  • 已修改(更新或删除)现有智能库存

注意

该update_host_smart_inventory_memberships任务只有在AWX_REBUILD_SMART_MEMBERSHIP设置为True(默认为False)时才会运行。

您可以查看实际库存而不可编辑:

  • 作为库存源同步创建的主机和组的名称
  • 组记录无法编辑或移动

您无法/inventories/N/hosts/像正常库存一样从Smart Inventory主机端点()创建主机。智能库存的管理员有权编辑字段,如名称,描述,变量和删除的能力,但没有修改的权限host_filter,因为这将影响哪些主机(主要成员资格在另一个库存)包含在智能库存中。注意,host_filter只适用于智能库存组织内的库存内的主机。

为了修改host_filter,您需要成为库存组织的组织管理员。组织管理员已经对组织内的所有库存进行了隐含的“管理”访问,因此,这并不表示他们尚未拥有的任何权限。

智能库存的管理员可以授予其他用户(谁也不是您组织的管理员)权限,如“使用”“adhoc”到智能库存,这些将允许角色指示的操作,就像其他标准清单一样。但是,这不会给他们任何特殊权限的主机(生活在不同的库存)。它不会允许他们对主机的直接读取权限,或允许他们查看其他主机/#/hosts/,尽管它们仍然可以查看智能库存主机列表下的主机。

在某些情况下,您可以修改以下内容:

  • 在库存清单来源上手动创建的新主机
  • 在由库存源同步创建的组中
  • 主机和组上的变量是可变的

与智能库存相关联的主机在查看时间显示。如果智能库存的结果包含多个具有相同主机名的主机,则只有一个匹配的主机将作为智能库存的一部分包含,按主机ID排序。

您可以host_filter按主机名,组名和可解的事实进行搜索。

组搜索的格式是:

名称:groupA

事实搜索的格式是:

ansible_facts ansible_fips :false

您还可以执行智能搜索搜索,其中包含主机名和主机描述。

添加新的库存(Add a new inventory)

要创建新的库存或智能库存:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮,然后选择要创建的库存类型。

库存类型由创建表单顶部的标签和制表符行标识。

《Ansible Tower 用户指南 v3.2.1》

  1. 在以下字段中输入适当的详细信息:
  • 名称:输入适合此库存的名称。
  • 说明:酌情输入任意描述(可选)。
  • 组织:必需。在可用的组织中进行选择。
  • 智能主机过滤器:(仅适用于智能库存)单击 《Ansible Tower 用户指南 v3.2.1》 按钮以打开单独的“动态主机”窗口,以过滤此库存的主机。这些选项是基于您选择的组织。

《Ansible Tower 用户指南 v3.2.1》

过滤器类似于标签,标签用于过滤包含这些名称的某些主机。过滤器区分大小写。有关详细信息,请参阅智能主机过滤器部分。

  • 洞察凭证:(仅适用于标准库存)如果清单与Insights一起使用,请输入适当的Insights凭证。
  • 实例组:单击 《Ansible Tower 用户指南 v3.2.1》 按钮打开单独的窗口。选择要运行的此库存的实例组。如果列表很广泛,请使用搜索缩小选项。
  • 变量:要应用于此清单中所有主机的变量定义和值。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。

《Ansible Tower 用户指南 v3.2.1》

  1. 完成后点击保存

Tower后保存新库存,您可以继续配置权限,组,主机,源和查看已完成的作业(如果适用于库存类型)。有关更多说明,请参阅后续章节。

添加权限(Add Permissions)

权限选项卡允许您查看,授予,编辑和删除用户相关权限,以及团队成员。要为此资源的特定用户分配权限:

  1. 单击权限选项卡。
  2. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮打开“添加用户/团队”窗口。

《Ansible Tower 用户指南 v3.2.1》

  1. 指定具有访问权限的用户或团队,然后分配具体角色:
  2. 单击以选择用户或团队的名称旁边的一个或多个复选框以选择它们。

注意

您可以通过在“ 用户”和“ 团队”选项卡之间导航而不保存来同时选择多个用户和团队。

选择完成后,窗口将展开,以便您可以从您选择的每个用户或团队的下拉菜单列表中选择一个角色。

《Ansible Tower 用户指南 v3.2.1》

以上示例显示与库存相关的选项。不同的资源有不同的选择:

  • 管理员可以读取,运行和编辑权限(适用于所有资源)
  • 使用允许在作业模板中使用资源(应用除作业模板之外的所有资源)
  • 更新允许通过SCM更新更新项目(适用于项目和清单)
  • Ad Hoc允许使用Ad Hoc命令(适用于库存)
  • 执行允许启动作业模板(适用于作业模板)

技巧

使用密钥在角色选择窗格按钮显示每个角色的描述。

  1. 选择要应用于所选用户或团队的角色。

注意

您可以通过在“ 用户”和“ 团队”选项卡之间导航而不保存来为多个用户和团队分配角色。

《Ansible Tower 用户指南 v3.2.1》

  1. 查看每个用户和团队的角色分配。

《Ansible Tower 用户指南 v3.2.1》

  1. 完成后单击保存,并关闭“添加用户/团队”窗口,以显示为每个用户和团队分配的更新角色。

《Ansible Tower 用户指南 v3.2.1》

要删除特定用户的权限,请单击其资源旁边的Disassociate(x)按钮。

《Ansible Tower 用户指南 v3.2.1》

这将启动确认对话框,要求您确认解除关联。

《Ansible Tower 用户指南 v3.2.1》

添加组(Add Groups)

库存分为几组,可能包含主机和其他组以及主机。组只适用于标准库存,不能通过智能库存直接配置。您可以通过与标准库存一起使用的主机关联现有组。有几个可用于标准清单的操作:

  • 创建一个新的组
  • 创建一个新的主机
  • 在所选的库存上运行命令
  • 编辑库存属性
  • 查看群组和主机的活动流
  • 获得帮助建立您的库存

注意

从可可Tower3.2开始,库存来源不再与组关联。以前的版本,生成的组和主机将是我们的库存源组的子项。现在,派生群体是顶级的。这些组可能仍然有子组,并且所有这些生成组都可能拥有主机。

要为广告资源创建新的组:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮打开“ 创建组”窗口。

《Ansible Tower 用户指南 v3.2.1》

  1. 在必需和可选字段中输入相应的详细信息:
  • 名称:必填
  • 说明:酌情输入任意描述(可选)
  • 变量:输入要应用于此组中所有主机的定义和值。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。
  1. 完成后,单击保存

在组内添加组(Add groups within groups)

在群组内添加群组:

  1. 单击选项卡。
  2. 单击该 《Ansible Tower 用户指南 v3.2.1》 按钮,然后选择是否添加一个已经存在于组态中的组或创建一个新组。
  3. 如果创建一个新组,请在必需和可选字段中输入相应的详细信息:
  • 名称:必填
  • 说明:酌情输入任意描述(可选)
  • 变量:输入要应用于此组中所有主机的定义和值。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。
  1. 完成后,单击保存

“ 创建组”窗口关闭,新创建的组将显示为与创建组相关联的组列表中的条目。

《Ansible Tower 用户指南 v3.2.1》

如果您选择添加现有组,则可用组将显示在单独的选择窗口中。

《Ansible Tower 用户指南 v3.2.1》

选择一个组后,它将显示为与组关联的组列表中的条目。

5.要在子组下配置其他组和主机,请从组列表中单击子组的名称,然后重复本部分所述的相同步骤。

《Ansible Tower 用户指南 v3.2.1》

添加主机(Add hosts)

您可以为库存以及组内的组和组配置主机。配置主机:

  1. 单击主机选项卡。
  2. 单击该 《Ansible Tower 用户指南 v3.2.1》 按钮,然后选择是否添加配置中已存在的主机或创建新的主机。
  3. 如果创建新的主机,请选择该 《Ansible Tower 用户指南 v3.2.1》 按钮以指定在运行作业时是否包含此主机。
  4. 在必需和可选字段中输入相应的详细信息:
  • 主机名:必需
  • 说明:酌情输入任意描述(可选)
  • 变量:输入要应用于此组中所有主机的定义和值。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。
  1. 完成后,单击保存

“ 创建主机”窗口关闭,新创建的主机将显示为与其创建的组相关联的主机列表中的条目。

《Ansible Tower 用户指南 v3.2.1》

如果您选择添加现有主机,可用的主机将显示在单独的选择窗口中。

《Ansible Tower 用户指南 v3.2.1》

选择主机后,它将显示为与组关联的主机列表中的条目。

6.要为主机配置事实和其他组,请从主机列表中单击主机的名称。

《Ansible Tower 用户指南 v3.2.1》

这将打开所选主机的“详细信息”选项卡。

《Ansible Tower 用户指南 v3.2.1》

  1. 单击Facts选项卡以输入要收集的事实。有关事实的更多信息,请参阅事实缓存部分。
  2. 单击“ 组”选项卡以配置主机的组。
  3. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮将主机与现有组关联。

可用组出现在单独的选择窗口中。

《Ansible Tower 用户指南 v3.2.1》

  1. 单击以选择要与主机关联的组,然后单击保存

一旦组关联,它将显示为与主机关联的组列表中的条目。

添加来源(Add source)

库存来源不再与组关联。在可可Tower3.2之前,产生的群体和主人将是我们的库存来源组的孩子。现在,派生群体是顶级的。这些组可能仍然有子组,并且所有这些生成组都可能拥有主机。

将库存添加到库存仅适用于标准库存。智能库存从与其相关的标准库存中继承来源。要配置清单的来源:

  1. 在您要添加源的清单中,单击“ 源”选项卡。
  2. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。
  3. 在必需和可选字段中输入相应的详细信息:
  • 名称:必填
  • 说明:酌情输入任意描述(可选)
  • 来源:选择与可以输入主机的证书类型相匹配的源。有关每个来源的详细信息和输入相应信息的详细信息,请参阅凭据来源部分。

注意

从Ansible Tower版本3.2开始,停止支持Rackspace Cloud Server。

  1. 所有云资源来源都具有以下更新选项:
  • 覆盖:有关信息,请参阅屏幕上的工具提示( 《Ansible Tower 用户指南 v3.2.1》 )。为了保证3.2迁移后一致的行为,不要设置True。
  • 覆盖Vars:有关信息,请参阅屏幕上的工具提示( 《Ansible Tower 用户指南 v3.2.1》 )。
  • 启动更新:每次作业运行时使用此清单,请在执行作业任务之前从所选源更新清单。为了避免作业溢出,如果作业比库存可以同步更快,选择此选项可以配置缓存超时以缓存先前的库存同步一段时间。

“启动更新”设置是指项目和库存的依赖系统,它不会专门排除两个作业同时运行。如果指定了缓存超时,则会创建第二个作业的依赖关系,并使用第一个作业生成的项目和库存更新。然后两个作业等待该项目和/或库存更新完成,然后继续。如果他们是不同的工作模板,那么他们可以同时启动和运行,如果系统有能力这样做的话。

注意

如果您打算使用Tower的配置回调功能与动态库存源,则应为库存组设置“启动时更新”。

  1. 查看您的条目和选择,完成后单击保存

一旦定义了源,它将在与清单相关联的源列表中显示为条目。在“ 来源”标签中,您可以在单个来源上执行同步,或者同时进行同步。您还可以执行其他操作,例如调度同步过程,以及编辑或删除源。

《Ansible Tower 用户指南 v3.2.1》

  1. 要配置源的通知,请单击通知选项卡。
  2. 如果已经设置了通知,请选择通知首选项。
  3. 如果尚未设置通知,请参阅通知以获取更多信息。

查看完成的工作(View completed jobs)

如果使用清单来运行作业,则可以在清单的“ 已完成作业”选项卡中查看有关这些作业的详细信息。

《Ansible Tower 用户指南 v3.2.1》

智能主机过滤器(Smart Host Filter)

您可以使用搜索过滤器来填充广告资源的主机。该功能是利用事实搜索功能的能力在可解析Tower3.2中引入的。

在工作模板运行期间由可执行文本生成的事实由Tower存储到数据库中,每当use_fact_cache=True设置每个作业模板时。新事实与现有事实相结合,是每个主体。这些存储的事实可以用于通过/api/v2/hosts端点过滤主机,使用GET查询参数host_filter例如:/api/v2/hosts?host_filter=ansible_facts__ansible_processor_vcpus=8

该host_filter参数允许:

  • 通过()
  • 使用布尔和运算符:
    • __ 参考关系领域的相关领域
    • __ 用于ansible_facts以分离JSON密钥路径中的密钥
    • [] 用于表示路径规范中的一个json数组
    • “” 可以在值中使用空格时使用
  • “经典”Django查询可能嵌入到 host_filter

例子:

/ API / V2 /主机/?host_filter = NAME =本地主机

/ API / V2 /主机/?host_filter = ansible_facts__ansible_date_time__weekday_number = “3”

/ API / V2 /主机/?host_filter = ansible_facts__ansible_processor [] = “GenuineIntel”

/ API / V2 /主机/?host_filter = ansible_facts__ansible_lo__ipv6 [] __范围= “宿主”

/ API / V2 /主机/?host_filter = ansible_facts__ansible_processor_vcpus = 8

/ API / V2 /主机/?host_filter = ansible_facts__ansible_env__PYTHONUNBUFFERED = “真”

/ api / v2 / hosts /?host_filter =(name = localhost或name = database)和(groups__name = east或groups__name =“west coast”)和ansible_facts__an

凭证来源(Credential Sources)

选择与可以输入主机的凭证类型相匹配的源。

从项目中获取资源(Sourced from a Project)

来自项目的库存意味着使用与其绑定的项目的SCM类型。例如,如果项目的来源是来自GitHub或Red Hat Insights项目,则库存将使用相同的来源。

  1. 要配置源自项目的库存,请从“源”字段中选择“ 从项目中提取”。
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭据:指定要用于此来源的凭据。
  • 项目:必填。指定此库存使用的项目作为其来源。单击 《Ansible Tower 用户指南 v3.2.1》 按钮从项目列表中进行选择。如果列表很广泛,请使用搜索缩小选项。
  • 库存文件:必需。选择与源项目关联的清单文件。
  • 详细程度:选择库存源更新作业的输出级别。
  1. 除了可用于云库存来源的更新选项之外,还可以指定是否更新项目更改。检查项目更新更新选项,以便在执行作业任务之前SCM修订更改之后的每个项目更新后从所选源更新清单。
  2. 为了传递到自定义清单脚本,您可以在“ 环境变量”字段中选择设置环境变量。

《Ansible Tower 用户指南 v3.2.1》

Amazon Web Services EC2

  1. 要配置来自AWS EC2的库存,请从“源”字段中选择“ Amazon EC2 ”。
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭据:从现有凭证中进行选择(有关详细信息,请参阅凭据)。

如果Tower在具有分配的IAM角色的EC2实例上运行,则可以省略凭据,并且将使用来自实例元数据的安全凭证。有关使用IAM角色的更多信息,请参阅IAM_Roles_for_Amazon_EC2_documentation_at_Amazon

  • 区域:单击区域字段以查看云提供商的区域列表。您可以选择多个区域,或选择“全部”以包括所有区域。只有使用与所选区域相关联的主机才能更新Tower。
  • 实例过滤器:不是导入整个Amazon EC2清单,而是根据各种元数据过滤库存脚本返回的实例。如果主机与此处输入的任何过滤器匹配,则会导入主机。

例子:

  • 限制具有标签的主机TowerManaged:Entertag-key=TowerManaged
  • 使用密钥名称staging或production:Enter 限制主机key-name=staging, key-name=production
  • 要限制Name标签开始的主机test:输入tag:Name=test*

有关可在此处使用的过滤器的更多信息,请参阅亚马逊的描述实例文档。

  • 仅组合:默认情况下,Tower基于以下Amazon EC2参数创建组:
    • 可用区域
    • 图像ID
    • 实例ID
    • 实例类型
    • 钥匙名称
    • 地区
    • 安全组
    • 标签(按名称)
    • VPC ID
    • 标签无

如果您不想创建所有这些组,请从下拉列表中选择您希望在默认情况下创建的组列表。您还可以根据实例的实例ID 选择创建组。Instance ID

  • 详细程度:选择库存源更新作业的输出级别。
  1. 使用“ 源变量”字段来覆盖ec2.ini库存更新脚本中使用的变量。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细说明,请参阅“可复制GitHub”中的ec2.ini

《Ansible Tower 用户指南 v3.2.1》

Google Compute Engine

  1. 要配置Google来源的广告资源,请从源字段中选择Google Compute Engine
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:必填。从现有凭证中选择。有关详细信息,请参阅凭据
  • 区域:单击区域字段以查看云提供商的区域列表。您可以选择多个区域,或选择“全部”以包括所有区域。只有使用与所选区域相关联的主机才能更新Tower。
  • 详细程度:选择库存源更新作业的输出级别。

《Ansible Tower 用户指南 v3.2.1》

Microsoft Azure Classic(已弃用)

  1. 要配置Azure来源的清单,请从“源”字段中选择“ Microsoft Azure Classic”(不推荐使用)
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:必填。从现有凭证中选择。有关详细信息,请参阅凭据
  • 区域:单击区域字段以查看云提供商的区域列表。您可以选择多个区域,或选择“全部”以包括所有区域。只有使用与所选区域相关联的主机才能更新Tower。
  • 详细程度:选择库存源更新作业的输出级别。

《Ansible Tower 用户指南 v3.2.1》

Microsoft Azure Resource Manager

  1. 要配置Azure资源管理器来源的清单,请从“源”字段中选择“ Microsoft Azure资源管理器 ”。
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:必填。从现有凭证中选择。有关详细信息,请参阅凭据
  • 区域:单击区域字段以查看云提供商的区域列表。您可以选择多个区域,或选择“全部”以包括所有区域。只有使用与所选区域相关联的主机才能更新Tower。
  • 详细程度:选择库存源更新作业的输出级别。

《Ansible Tower 用户指南 v3.2.1》

VMware vCenter

  1. 要配置源自VMWare的库存,请从“源”字段中选择“ VMware vCenter ”。
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:必填。从现有凭证中进行选择(有关详细信息,请参阅凭据)。
  • 实例过滤器:不是导入整个VMWare清单,而是根据各种元数据过滤库存脚本返回的实例。如果主机与此处输入的任何过滤器匹配,则会导入主机。

有关可在此处使用的过滤器的更多信息,请参阅VMware的可用于vSphere对象快速过滤文档。

  • 仅组合:默认情况下,Tower根据用户指定的VMWare参数创建组。例如,输入根据实例的实例ID创建组。Instance ID
  • 详细程度:选择库存源更新作业的输出级别。
  1. 使用“ 源变量”字段来覆盖vmware.ini库存更新脚本中使用的变量。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细说明,请参阅可复制的GitHub repo中的vmware_inventory.ini

注意

适用于VMware的清单脚本在Ansible Tower 3.1.2中更新,以允许配置host_filters或groupby_patterns参数。在“ 创建组”屏幕或“编辑组”屏幕的“ 源变量”文本字段中指定这些值。例如:

《Ansible Tower 用户指南 v3.2.1》

《Ansible Tower 用户指南 v3.2.1》

Red Hat Satellite 6

  1. 要配置红帽卫星资源,请从源字段中选择红帽卫星
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:必填。从现有凭证中进行选择(有关详细信息,请参阅凭据)。
  • 详细程度:选择库存源更新作业的输出级别。
  1. 使用“ 源变量”字段来覆盖foreman.ini库存更新脚本中使用的变量。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请参阅可执行的GitHub repo中的foreman.ini

《Ansible Tower 用户指南 v3.2.1》

Red Hat CloudForms

  1. 要配置源自Red Hat CloudForms的清单,请从“源”字段中选择“ Red Hat CloudForms ”。
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:必填。从现有凭证中进行选择(有关详细信息,请参阅凭据)。
  • 详细程度:选择库存源更新作业的输出级别。
  1. 使用“ 源变量”字段来覆盖cloudforms.ini库存更新脚本中使用的变量。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细说明,请查看cloudforms.ini中的可复制GitHub回购

《Ansible Tower 用户指南 v3.2.1》

OpenStack

  1. 要配置来自OpenStack的库存,请从“源”字段中选择“ OpenStack ”。
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:必填。从现有凭证中进行选择(有关详细信息,请参阅凭据)。
  • 详细程度:选择库存源更新作业的输出级别。
  1. 使用“ 源变量”字段来覆盖openstack.yml库存更新脚本中使用的变量。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细说明,请参阅Ansys GitHub repo中的openstack.yml

《Ansible Tower 用户指南 v3.2.1》

Custom Script

如果您的管理员已经添加了一个,Tower允许您使用自定义动态库存脚本。

  1. 要配置自定义脚本来源的清单,请从“源”字段中选择“ 自定义脚本 ”。
  2. “创建源”窗口随其他字段一起展开。输入以下详细信息:
  • 凭证:您可以选择为自定义来源提供凭据。这种凭证仅限于云和网络。有关详细信息,请参阅凭据类型
  • 自定义库存脚本:必需。从现有库存脚本中选择(有关详细信息,请参阅自定义库存脚本)。
  • 详细程度:选择库存源更新作业的输出级别。
  • 环境变量:设置要由库存更新脚本使用的环境中的变量。变量将特定于您编写的脚本。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。

《Ansible Tower 用户指南 v3.2.1》

有关同步或使用自定义清单脚本的详细信息,请参阅“可访问Tower管理指南”中的自定义清单脚本

运行特殊命令(View completed jobs)

运行ad hoc命令:

  1. 选择库存来源。清单源可以是单个组或主机,多个主机的选择或多个组的选择。

《Ansible Tower 用户指南 v3.2.1》

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。

《Ansible Tower 用户指南 v3.2.1》

执行命令窗口打开。

  1. 输入以下字段的详细信息:
  • 模块:选择Tower支持运行命令的模块之一。
command apt_repository mount win_service
shell apt_rpm ping win_updates
yum service selinux win_group
apt group setup win_user
apt_key user
  • 参数:提供与所选模块一起使用的参数。
  • 限制:输入用于定位清单中的主机的限制。要定位库存中的所有主机,请输入all或*(或将该字段留空)。在点击启动按钮之前,将自动填充上一个视图中选择的内容。
  • 机器凭据:选择要访问远程主机以运行该命令时使用的凭据。选择包含Ansbile需要登录到远程主机的用户名和SSH密钥或密码的凭据。
  • 详细程度:选择标准输出的详细级别。
  • :如果需要,请在执行命令时选择要使用的并行或同时进程的数量。
  • 显示更改:选择以启用在标准输出中显示可更改。默认为OFF。
  • 启用权限升级:如果启用,则该操作将以管理员权限运行。这相当于将–become选项传递给ansible命令。
  • 额外的变量:提供额外的命令行变量,以在运行此库存时应用。使用JSON或YAML语法输入变量。使用单选按钮在两者之间切换。
  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮运行此ad hoc命令。

《Ansible Tower 用户指南 v3.2.1》

工作模板(Job Templates)

一个作业模板是定义和运行Ansible作业设定的参数。作业模板有助于多次执行相同的作业。工作模板还鼓励重用可复制的剧本内容和团队之间的协作。尽管REST API允许直接执行作业,但Tower要求您首先创建作业模板。

此菜单打开当前可用的作业模板的列表。作业模板列表可以按名称说明进行排序和搜索。“ 模板”选项卡还使用户能够启动,计划,修改和删除作业模板。

《Ansible Tower 用户指南 v3.2.1》

创建作业模板(Create a Job Template)

创建新的作业模板:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮,然后从菜单列表中选择作业模板

《Ansible Tower 用户指南 v3.2.1》

  1. 在以下字段中输入适当的详细信息:
  • 名称:输入作业的名称。
  • 说明:酌情输入任意描述(可选)。
  • 工作类型
    • 运行:启动时执行手册,在选定的主机上运行可执行的任务。
    • 检查:执行剧本的“干运行”,并报告将不进行实际改变的变化。不支持检查模式的任务将被跳过,不会报告潜在的更改。
    • 启动时提示 – 如果选择,即使提供了默认值,启动时将提示您选择运行或检查的作业类型。

注意

有关作业类型的更多信息,请参见可用文档的“ Playbooks:特殊主题”部分。

  • 库存:从当前登录的Tower用户可用的库存中选择要用于此作业模板的库存。
  • 启动时提示 – 如果选择,即使提供了默认值,系统将在启动时提示您选择一个库存以运行此作业模板。
  • 项目:从当前登录的Tower用户可用的项目中选择要与此作业模板一起使用的项目。
  • 手册:从可用的手册中选择要使用此作业模板启动的手册。此菜单将自动填充所选项目的项目基本路径中找到的剧本的名称。例如,项目路径中名为“jboss.yml”的剧本就会在菜单中显示为“jboss”。
  • 凭据:点击 《Ansible Tower 用户指南 v3.2.1》 按钮打开一个单独的窗口。从与此作业模板一起使用的可用选项中选择凭证。如果列表很广泛,请使用下拉菜单列表过滤凭据类型。

《Ansible Tower 用户指南 v3.2.1》

  • 叉子:执行剧本时使用的并行或同时进程的数量。值为零使用可选默认设置,这是5个并行进程,除非被覆盖/etc/ansible/ansible.cfg。
  • 限制
    • 主机模式,进一步限制由该剧本管理或影响的主机列表。多个模式可以用冒号(“:”)分隔。与“可复制”一样,“a:b”表示“a或b组”,“a:b:&c”表示“in a或b,但必须在c”中,“a:!b”表示“ ,绝对不是在b“。
    • 启动时提示:如果选择,即使提供了默认值,则在启动时将提示您选择限制。

注意

有关更多信息和示例,请参阅可选文档中的模式

  • 详细程度:控制输出的Ansible产生与剧本执行水平。将verbosity设置为Default,Verbose或Debug中的任何一个。这只会显示在“详细信息”报告视图中。详细日志记录包括所有命令的输出。调试日志记录是非常冗长的,包括可在某些支持实例中使用的SSH操作信息。大多数用户不需要看到调试模式输出。

警告

细节5导致当工作正在运行时,Tower会严重堵塞,这可能会延迟报告工作已完成(即使有),也可能导致浏览器选项卡锁定。

  • 实例组:单击 《Ansible Tower 用户指南 v3.2.1》 按钮打开单独的窗口。选择要在其上运行此作业模板的实例组。如果列表很广泛,请使用搜索缩小选项。
  • 工作标签
    • 提供逗号分隔的剧本标签列表,以指定应该执行哪些部分剧本。
    • 有关更多信息和示例,请参阅可选文档中的标签
    • 启动时提示 – 如果选择,即使提供了默认值,启动时将提示您选择作业标签。
  • 跳过标签
    • 提供逗号分隔的剧本标签列表,以跳过要执行的某些任务或部分剧本。
    • 有关更多信息和示例,请参阅可选文档中的标签
    • 启动时提示 – 如果选择,即使提供了默认值,启动时将提示您选择作业标签。
  • 显示更改:允许您查看可执行任务所做的更改。
  • 选项
    • 启用权限升级:如果已启用,请以管理员身份运行此本手册。这相当于将–become选项传递给ansible-playbook命令。
    • 允许配置回调:使主机能够通过Tower API回到Tower,并从此作业模板中调用作业的启动。有关其他信息,请参阅配置回调
    • 启用并发作业:允许队列中的作业不依赖于彼此运行。有关其他信息,请参阅作业并发
    • 使用事实缓存:启用后,Tower将激活与运行作业相关的清单中的所有主机的可执行事实缓存插件。
  • 标签:提供描述此作业模板的可选标签,如“dev”或“test”。标签可用于分组和过滤Tower显示中的作业模板和已完成的作业。
    • 将标签添加到作业模板时创建标签。标签与单个组织相关联,该组织使用作业模板中提供的项目。如果组织成员拥有编辑权限(如管理员角色),则可以在作业模板上创建标签。
    • 保存作业模板后,标签将显示在作业模板概述中。
    • 点击标签旁边的“x”将其删除。当标签被删除,并且不再与作业或作业模板相关联时,该标签将从组织标签列表中永久删除。
    • 作业在发布时从作业模板继承标签。如果从作业模板中删除了一个标签,那么它也从作业中删除。

《Ansible Tower 用户指南 v3.2.1》 《Ansible Tower 用户指南 v3.2.1》

  • 额外变量
    • 将额外的命令行变量传递给playbook。这是Ansible-playbook的“-e”或“-extra-vars”命令行参数,该参数记录在命令行传递变量的可复制文档中。
    • 使用YAML或JSON提供键/值对。这些变量具有最大优先级,并覆盖其他地方指定的其他变量。示例值可能是:
    • git_branch : production
    • release_version : 1.5
    • 启动时提示 – 如果选择,即使提供了默认值,则在启动时将提示您选择命令行变量。

有关额外变量的更多信息,请参阅额外变量

  1. 完成配置作业模板的详细信息后,选择保存

如果需要,保存模板不会退出作业模板页面,但仍保留在作业模板详细信息视图中进行进一步的编辑。保存作业的“ 详细信息”选项卡允许您查看,编辑和添加调查(如果作业类型不是扫描)。

《Ansible Tower 用户指南 v3.2.1》

当新创建的模板出现在屏幕底部的模板列表中时,可以验证模板是否被保存。

《Ansible Tower 用户指南 v3.2.1》

查看已完成的作业(View Completed Jobs)

“ 完成作业”选项卡提供了此作业模板的运行方式的详细信息。它为您提供ID,名称,作业类型,完成后,并允许您重新启动或删除作业。您可以使用作业ID,名称,类型或作业失败过滤完成作业的列表。

《Ansible Tower 用户指南 v3.2.1》

添加权限(Add Permissions)

权限选项卡允许您查看,授予,编辑和删除用户相关权限,以及团队成员。要为此资源的特定用户分配权限:

  1. 单击权限选项卡。
  2. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮打开“添加用户/团队”窗口。

《Ansible Tower 用户指南 v3.2.1》

  1. 指定具有访问权限的用户或团队,然后分配具体角色:
  2. 单击以选择用户或团队的名称旁边的一个或多个复选框以选择它们。

注意

您可以通过在“ 用户”和“ 团队”选项卡之间导航而不保存来同时选择多个用户和团队。

选择完成后,窗口将展开,以便您可以从您选择的每个用户或团队的下拉菜单列表中选择一个角色。

《Ansible Tower 用户指南 v3.2.1》

以上示例显示与库存相关的选项。不同的资源有不同的选择:

  • 管理员可以读取,运行和编辑权限(适用于所有资源)
  • 使用允许在作业模板中使用资源(应用除作业模板之外的所有资源)
  • 更新允许通过SCM更新更新项目(适用于项目和清单)
  • Ad Hoc允许使用Ad Hoc命令(适用于库存)
  • 执行允许启动作业模板(适用于作业模板)

技巧

使用密钥在角色选择窗格按钮显示每个角色的描述。

  1. 选择要应用于所选用户或团队的角色。

注意

您可以通过在“ 用户”和“ 团队”选项卡之间导航而不保存来为多个用户和团队分配角色。

《Ansible Tower 用户指南 v3.2.1》

  1. 查看每个用户和团队的角色分配。

《Ansible Tower 用户指南 v3.2.1》

  1. 完成后单击保存,并关闭“添加用户/团队”窗口,以显示为每个用户和团队分配的更新角色。

《Ansible Tower 用户指南 v3.2.1》

要删除特定用户的权限,请单击其资源旁边的Disassociate(x)按钮。

《Ansible Tower 用户指南 v3.2.1》

这将启动确认对话框,要求您确认解除关联。

《Ansible Tower 用户指南 v3.2.1》

使用通知(Work with Notifications)

点击通知可以查看您设置的任何通知集成。

点击 《Ansible Tower 用户指南 v3.2.1》 按钮创建通知。

有关详细信息,请参阅通知

《Ansible Tower 用户指南 v3.2.1》

调查(Surveys)

运行或检查的作业类型将提供在作业模板创建或编辑屏幕中设置调查的方法。调查为类似“提示额外变量”的剧本设置了额外的变量,但是以用户友好的问答方式。调查还允许验证用户输入。点击 《Ansible Tower 用户指南 v3.2.1》 按钮创建一个调查。

调查用例众多。一个例子可能是,如果操作想要给开发者一个“推入阶段”按钮,他们可以运行没有高级可读知识。在启动时,此任务可能会提示对“我们应该发布什么标签”等问题的答案。

可以询问许多类型的问题,包括多项选择题。

注意

调查仅适用于拥有企业级许可证的人员。

创建一个调查(Create a Survey)

创建调查:

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮打开添加测量窗口。

《Ansible Tower 用户指南 v3.2.1》

使用屏幕顶部的ON / OFF切换按钮快速激活或停用此调查提示。

  1. 一项调查可能包括任何问题。对于每个问题,请输入以下信息:
  • 名称:询问用户的问题
  • 说明 :(可选)说明用户要询问的内容。
  • 答案变量名称:用于存储用户响应的可变变量名称。这是用于播放的变量。变量名不能包含空格。
  • 答案类型:从以下问题类型中选择。
    • 文本:单行文本。您可以设置此答案的最小和最大长度(以字符为单位)。
    • Textarea:多行文本字段。您可以设置此答案的最小和最大长度(以字符为单位)。
    • 密码:响应被视为敏感信息,很像实际的密码被处理。您可以设置此答案的最小和最大长度(以字符为单位)。
    • 多选(单选):选项列表,其中一次只能选择一个。在多选择选项框中输入选项,每行一个。
    • 多重选择(多选):选项列表,其中任何一个可以一次选择。在多选择选项框中输入选项,每行一个。
    • 整数:整数。您可以设置此答案的最小和最大长度(以字符为单位)。
    • 浮点数:十进制数。您可以设置此答案的最小和最大长度(以字符为单位)。
  • 默认答案:问题的默认答案。该值预先填写在界面中,如果用户不提供答案,则使用该值。
  • 必需:用户是否需要回答此问题。
  1. 输入问题信息后,点击 《Ansible Tower 用户指南 v3.2.1》 按钮添加问题。

调查的风格化版本在“预览”窗格中显示。对于任何问题,您可以点击编辑按钮编辑问题,删除按钮删除问题,然后单击anad拖动网格图标以重新排列问题的顺序。

  1. 返回到左窗格以添加其他问题。
  2. 完成后,单击保存以保存调查。

《Ansible Tower 用户指南 v3.2.1》

选调查问题(Optional Survey Questions)

调查问题中的必需设置决定用户与其交互的答案是否是可选的。

在幕后,extra_vars即使没有填写,可选的调查变量也可以传递给本书。

  • 如果非文本变量(输入类型)被标记为可选项,并且未填写,则不进行任何调查extra_var。
  • 如果文本输入或文本区域输入被标记为可选的,则不填写,并且具有最小值,则不会将调查传递给该手册。length > 0extra_var
  • 如果文本输入或文本区输入被标记为可选的,则不填写,并且具有最小值,该调查将传递给该手册,其值设置为空字符串(“”)。length === 0extra_var

启动工作模板(Launch a Job Template)

Ansible Tower的一个主要优点是可插拔剧本的按钮部署。您可以轻松地在Tower内配置一个模板,将您通常在传递给ansy-playbook的所有参数存储在命令行上,而不仅仅是播放列表,而是存储,凭据,额外的变量以及您可以指定的所有选项和设置命令行。

更容易的部署驱动一致性,通过每次运行相同的方式运行您的剧本,并允许您委派职责 – 即使不是可疑专家的用户也可以运行他人写的Tower剧本。

启动作业模板:

  1. 模板导航链接访问作业模板,或者在作业模板详细信息视图中,滚动到底部,从模板列表中进行访问。

《Ansible Tower 用户指南 v3.2.1》

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。

作业可能需要额外的信息才能运行。发布时可能会要求以下数据:

  • 设置证书
  • 已设置为Ask的密码或密码
  • 如果已经为作业模板配置了一个调查
  • 额外的变量,如果作业模板请求

以下是一个示例作业启动,提示“作业标签”,并运行在“调查”中创建的示例调查

《Ansible Tower 用户指南 v3.2.1》

《Ansible Tower 用户指南 v3.2.1》

除了在作业模板和调查中设置的任何额外的变量以外,Tower自动将以下变量添加到作业环境中:

  • tower_job_id:此作业的作业ID运行
  • tower_job_launch_type:手动,回拨或计划中的一个来指示作业的启动方式
  • tower_job_template_id:此作业运行的作业模板ID使用
  • tower_job_template_name:该作业使用的作业模板名称
  • tower_user_id:启动此作业的Tower用户的用户ID。这不适用于回调或计划作业。
  • tower_user_name:启动此作业的Tower用户的用户名。这不适用于回调或计划作业。

一经推出,Tower自动重定向Web浏览器作业状态页面下这份工作乔布斯标签。

调度(Scheduling)

也可以通过 《Ansible Tower 用户指南 v3.2.1》 按钮安排启动作业模板。单击此按钮将打开“ 计划”页面。

《Ansible Tower 用户指南 v3.2.1》

此页面显示当前可用于所选作业模板的计划列表。可以通过以下任一方式排序和搜索计划表:

  • 名称:单击计划名称将打开“ 编辑计划”对话框
  • 第一次运行:这个任务的第一个预定运行
  • 下一个运行:下一个这个任务的运行
  • 最终运行:如果任务有结束日期,这是任务的最后一次运行

“ 排程”屏幕右上角的按钮提供以下操作:

  • 查看活动流
  • 添加新的时间表

安排工作模板(Schedule a Job Template)

创建新的时间表:

  1. 从“排程”屏幕中,单击 《Ansible Tower 用户指南 v3.2.1》 按钮。
  2. 在以下字段中输入适当的详细信息:
  • 名称
  • 开始日期
  • 开始时间
  • 本地时区:输入的开始时间应在此时区
  • 重复频率:修改更新频率时显示适当的选项

注意

工作预定在UTC。在特定时间段内重复运行的作业可能会在夏令时发生时相对于本地时区移动。

下面的计划说明显示计划的详细信息以及所选本地时区中排定发生的列表。

《Ansible Tower 用户指南 v3.2.1》

  1. 当满足计划详细信息时,单击保存

保存计划后,将显示相关作业模板的计划列表。

使用ON / OFF切换按钮快速激活或停用此计划。

“行动”列下有其他时间表的操作:

  • 编辑计划
  • 删除时间表

复制作业模板(Copy a Job Template)

Ansible Tower 3.0引入了复制作业模板的功能。如果您选择复制作业模板,它不会复制任何关联的计划,通知或权限。计划和通知必须由创建作业模板副本的用户或管理员重新创建。复制作业模板的用户将被授予管理员权限,但没有将权限分配(复制)到作业模板。

  1. 从“ 模板导航”链接访问要复制的作业模板,或者在“作业模板详细信息”视图中,滚动到底部以从模板列表中进行访问。

《Ansible Tower 用户指南 v3.2.1》

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。

将打开一个新模板,其中包含您从中复制的模板的名称和时间戳。

  1. 用新名称替换名称字段的内容,并提供或修改其他字段中的条目来完成此页面。
  2. 完成后点击保存

扫描作业模板(Scan Job Templates)

从Ansible Tower 3.2开始,不再支持扫描作业。该系统跟踪功能被用作捕获和存储事实作为历史数据的一种方式。事实现在通过事实缓存存储在Tower中。有关更多信息,请参阅事实缓存

如果您在系统中有可用的Tower 3.2之前的作业模板扫描作业,则它们已转换为类型运行(如正常作业模板)并保留其相关资源(即库存,凭证)。作业模板扫描默认情况下,没有相关项目的作业将分配一个特殊的手册,或者您可以使用自己的扫描手册指定一个项目。为每个组织创建一个指向 https://github.com/ansible/tower-fact-modules的项目,并将作业模板设置为该工作簿,https://github.com/ansible/tower-fact-modules /blob/master/scan_facts.yml

事实扫描手册(Fact Scan Playbooks)

扫描作业手册scan_facts.yml包含三个包,服务和文件的调用,以及Ansible的标准事实收集。该剧本文件如下所示:fact scan modulesscan_facts.yml

hosts : all

vars :

scan_use_checksum : false

scan_use_recursive : false

tasks :

scan_packages :

scan_services :

scan_files :

paths : ‘{{scan_file_paths}}’

get_checksum : ‘{{scan_use_checksum}}’

递归: ‘{{scan_use_recursive}}’

何时: scan_file_paths 定义

该scan_files事实模块是接受的参数,通过传递的唯一模块extra_vars的扫描作业模板。

scan_file_paths : ‘/ tmp /’

scan_use_checksum : true

scan_use_recursive : true

  • 该scan_file_paths参数可能有多个设置(如/tmp/或/var/log)。
  • 的scan_use_checksum和scan_use_recursive参数也可以被设置为假或省略。遗漏与假设相同。

扫描作业模板应该启用become和使用become可能的凭据。您可以通过从“选项”菜单中选中“ 启用权限升级”启用成功

《Ansible Tower 用户指南 v3.2.1》

注意

如果您在可可Tower3.1.x中维护了扫描作业模板,然后升级到可解析Tower3.2,则会为您自动创建一个新的“Tower斯坦扫描 – 默认”项目。该项目包含以前在早期版本的可复制Tower中使用的旧扫描手册。

支持scan_facts.yml的操作系统(Supported OSes for scan_facts.yml)

如果您使用scan_facts.yml带有事实缓存的playbook,请确保您的操作系统受支持:

  • Red Hat Enterprise Linux 5, 6, & 7
  • CentOS 5, 6, & 7
  • Ubuntu 12.04, 14.04, 16.04
  • OEL 6 & 7
  • SLES 11 & 12
  • Debian 6, 7, 8
  • Fedora 22, 23, 24
  • Amazon Linux 2016.03
  • Windows Server 2008 and later

请注意,这些操作系统中的一些可能需要初始配置,以便能够运行python和/或访问python-apt扫描模块所依赖的python软件包(例如)。

预扫描设置(Pre-scan Setup)

以下是配置某些发行版的剧本的示例,以便扫描作业可以针对它们运行。

Bootstrap Ubuntu (16.04)

name: Get Ubuntu 15, 16, and on ready

hosts: all

sudo: yes

gather_facts: no

tasks:

name: install pythonsimplejson

raw: sudo aptget y update

raw: sudo aptget y install pythonsimplejson

raw: sudo aptget install pythonapt

Bootstrap Fedora (23, 24)

name: Get Fedora ready

hosts: all

sudo: yes

gather_facts: no

tasks:

name: install pythonsimplejson

raw: sudo dnf y update

raw: sudo dnf y install pythonsimplejson

raw: sudo dnf y install rpmpython

CentOS 5 or Red Hat Enterprise Linux 5 may also need the simplejson package installed.

自定义事实扫描(Custom Fact Scans)

自定义事实扫描的手册与上述“事实扫描”手册的示例类似。作为一个例子,只使用一个定制的可scan_foo写事实模块的剧本将如下所示:

scan_custom.yml:

hosts: all

gather_facts: false

tasks:

scan_foo:

scan_foo.py:

def main():

module = AnsibleModule(

argument_spec = dict())

foo = [

{

“hello”: “world”

},

{

“foo”: “bar”

}

]

results = dict(ansible_facts=dict(foo=foo))

module.exit_json(**results)

main()

要使用自定义事实模块,请确保它存在于/library/扫描作业模板中使用的可复制项目的子目录中。这个事实扫描模块非常简单,返回一组硬编码的事实:

[

{

“hello” : “world”

},

{

“foo” : “bar”

}

]

有关详细信息,请参阅可用文档的模块提供的“事实”部分。

事实缓存(Fact Caching)

警告

Ansys 2.4.0 + Ansible Tower 3.2.0作业启用事实缓存可能会导致对主机运行,而主机可能未包含在相关的库存中。创建使用启用事实缓存的清单的作业模板可能导致作业针对应该已被删除的主机运行。这将在即将发布的版本中解决,将可解析Tower升级到3.2.1版和/或将可升级升级到版本2.4.1。

Tower可以通过Ansible Fact Cache插件在每个主机的基础上存储和检索事实。此行为可在每个作业模板的基础上进行配置。事实缓存默认情况下关闭,但可以启用为与运行作业相关的清单中的所有主机提供事实请求。这允许您–limit在仍然可以访问主机事实的整个库存的同时使用作业模板。可以通过“作业”选项卡下的“配置Tower”界面指定(以秒为单位)插件强制执行每个主机的全局超时设置:

《Ansible Tower 用户指南 v3.2.1》

在启动使用事实cache(use_fact_cache=True)的作业时,Tower将注入到memcached中,所有这些都ansible_facts与与作业关联的清单中的每个主机相关联。清单中所有主机的列表也注入到具有inventory_id密钥和主机名值的memcached中。只有在启用事实缓存的作业(use_fact_cache=True)上才能启用“可解析Tower”附带的可解密事实缓存插件。在Ansible中运行的事实缓存插件将连接到同一个memcached实例。

当一个作业完成运行,事实上缓存已启用(use_fact_cache=True),Tower将通过memcached并检索库存中的主机的所有记录。任何具有比每个主机当前存储的事实更新时间更新的记录将被保存到数据库。

Tower总是将主机ansible_facts注入memcached。基于每个主机新存储的事实和为全局事实高速缓存设置指定的超时值,可能显示或不显示缓存的值。

新的和改变的事实将通过Tower的记录工具记录。具体来说,到system_tracking命名空间或记录器。记录有效载荷将包括以下字段:

  • host_name
  • inventory_id
  • ansible_facts

哪里ansible_facts是host_nameTower库存中所有可疑事实的字典inventory_id。

事实缓存的好处(Benefits of Fact Caching)

事实缓存在运行事件收集时节省了大量的时间。如果您的工作中有一本针对一千个主机和叉子的工作簿,您可以轻松地花费10分钟收集所有这些主机的事实。但是如果你经常运行一个工作,那么它的第一次运行会缓存这些事实,下一次运行只是将它们从数据库中拉出来。这大大降低了大量库存(包括智能库存)的工作运行时间。

注意

不要修改tower.cfg文件来应用事实缓存。自定义事实缓存可能与Tower的事实缓存功能相冲突。建议您使用可解析Tower附带的事实缓存模块。事实缓存没有暴露在孤立节点中。

您可以通过在“作业模板”窗口的“ 选项”字段中启用它来选择在作业中使用缓存的事实。

《Ansible Tower 用户指南 v3.2.1》

要清理事实,您需要运行清除的事实缓存,不会与Tower打包,而是可以从GitHub中取出。设置不会导致清除现有事实。gather_facts: False

事实缓存的API端点可以在:。http://<Tower server name>/api/v2/hosts/x/ansible_facts

利用云凭证(Utilizing Cloud Credentials)

在同步相应的云库存时可以使用云凭据。云凭证也可能与作业模板相关联,并包含在运行时环境中以供一个剧本使用。Cloud Credentials的使用在“可溶性Tower”2.4.0版中引入。

OpenStack

下面的示例剧本调用nova_computeAnsible OpenStack的云模块,并要求凭据做任何有意义,特别需要以下信息:auth_url,username,password,和project_name。这些字段通过环境变量提供给剧本,该环境变量OS_CLIENT_CONFIG_FILE指向由Tower根据云凭据的内容写入的YAML文件。该示例手册将YAML文件加载到可变变量空间中。

OS_CLIENT_CONFIG_FILE 例:

云:

devstack :

AUTH :

auth_url : HTTP :// devstack yoursite com :5000 / v2 0 /

用户名: admin

密码: your_password_here

project_name : demo

手册示例:

主机: 所有

gather_facts : 假

瓦尔:

CONFIG_FILE : “{{查找( ‘ENV’, ‘OS_CLIENT_CONFIG_FILE’)}}”

nova_tenant_name : 演示

nova_image_name : “cirros-0.3.2-x86_64的-UEC”

nova_instance_name : 自动机器人

nova_instance_state : “本’

nova_flavor_name : m1 纳米

nova_group :

group_name : antarctica

instance_name : deceptacon

instance_count : 3个

任务:

debug : msg = “{{config_file}}”

stat : path = “{{config_file}}”

注册: st

include_vars : “{{config_file}}”

时间: st 统计存在 ST 统计isreg

名称: “打印出云变量”

debug : msg = “{{clouds | default(’No clouds found’)}}”

name : “将nova实例状态设置为:{{nova_instance_state}}”

local_action :

module : nova_compute

login_username : “{{clouds.devstack.auth.username}}”

login_password : “{{clouds.devstack.auth.password}} “

Amazon Web Services

在执行Playbook期间,Amazon Web Services云凭证作为以下环境变量显示(在作业模板中,选择您的设置所需的云凭证):

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

所有AWS模块都将通过Tower运行时隐式使用这些凭据,而无需设置aws_access_key_id或aws_secret_access_key模块选项。

Rackspace

在执行剧本期间,Rackspace云凭证作为以下环境变量显示(在作业模板中,选择您的设置所需的云凭证):

  • RAX_USERNAME
  • RAX_API_KEY

所有的Rackspace模块将在通过Tower运行时隐含地使用这些凭据,而无需设置username或api_key模块选项。

Google

在执行剧本期间,Google云端凭证作为以下环境变量(在作业模板中,选择您的设置所需的云凭据):

  • GCE_EMAIL
  • GCE_PROJECT
  • GCE_PEM_FILE_PATH

当通过Tower,而无需设置运行所有的谷歌的模块将隐含使用这些凭据service_account_email,project_id或pem_file模块选件。

Azure

在执行剧本期间,Azure云凭证作为以下环境变量进行公开(在作业模板中,选择您的设置所需的云凭据):

  • AZURE_SUBSCRIPTION_ID
  • AZURE_CERT_PATH

所有的Azure模块都通过Tower运行时隐含地使用这些凭据,而无需设置subscription_id或者management_cert_path模块选项。

VMware

在执行剧本期间,VMware云凭证作为以下环境变量进行公开(在作业模板中,选择您的设置所需的云凭证):

  • VMWARE_USER
  • VMWARE_PASSWORD
  • VMWARE_HOST

下面的示例手册演示了这些凭据的用法:

vsphere_guest :

vcenter_hostname : “{{lookup(’env’,’VMWARE_HOST’)}}”

username : “{{lookup(’env’,’VMWARE_USER’)}}”

password : “{{lookup(’env’ ‘VMWARE_PASSWORD’)}}“

guest : newvm001

from_template : yes

template_src : centosTemplate

集群: MainCluster

resource_pool : ”/ Resources“

vm_extra_config :

folder : MyFolder

Provisioning Callbacks

配置回调(Provisioning Callbacks)是Tower的一个功能,允许主机针对自身启动一个剧本,而不是等待用户启动一个作业,从Tower控制台管理主机。请注意,只有配置回调用于在主叫主机上运行剧本。配置回调用于云突发,即:需要客户端到服务器进行配置的新实例(例如发送授权密钥),而不是针对另一个主机运行作业。这提供了在系统由其他系统(例如AWS自动缩放或诸如kickstart或preseed之类的操作系统配置系统)自动配置系统后,或者以编程方式启动作业,而不直接调用Tower API。作业模板仅针对请求配置的主机启动。

通常可以通过firstboot类型的脚本或从cron访问。

要启用回调,请检查作业模板中的允许配置回调复选框。这将显示此作业模板的配置回调URL

注意

如果您打算将Tower的配置回调功能与动态库存一起使用,则应为作业模板中使用的库存组设置“更新”。

《Ansible Tower 用户指南 v3.2.1》

回调还需要主机配置密钥,以确保具有URL的外部主机无法请求配置。单击 《Ansible Tower 用户指南 v3.2.1》 按钮为此回调创建唯一主机密钥,或输入您自己的密钥。主机密钥可以跨多个主机重用,以将该作业模板应用于多个主机。如果您希望控制哪些主机能够请求配置,则密钥可能随时更改。

要通过REST手动回调,请查看UI中的回调URL,形式如下:

http :// < Tower server name > / api / v2 / job_templates / 1 / callback /

此示例URL中的“1”是Tower中的作业模板ID。

来自主机的请求必须是POST。这是一个使用curl(所有在一行)的示例:

root @ localhost :〜$ curl –data“host_config_key = 5a8ec154832b780b9bdef1061764ae5a”\

http:// <Tower server name> / api / v2 / job_templates / 1 / callback /

必须在清单中定义请求主机才能使回调成功。如果Tower未能通过名称或IP地址在您定义的清单中找到主机,则该请求将被拒绝。以这种方式运行作业模板时,启动本身运行的主题的主机必须位于库存中。如果清单中缺少主机,则作业模板将失败,并显示“无主机匹配”类型错误消息。

注意

如果您的主机未在库存中并且已设置为库存组,则Tower在尝试在运行回调之前更新基于云的库存来源。Update on Launch

成功的请求会导致“作业”选项卡上的一个条目,其中可以查看结果和历史记录。

虽然可以通过REST访问回调,但建议使用回调的方法是使用Tower – /usr/share/awx/request_tower_configuration.sh(Linux / UNIX)或/usr/share/awx/request_tower_configuration.ps1(Windows)附带的示例脚本之一。通过传递-h标志在文件的源代码中描述了用法,如下所示:

./ request_tower_configuration SH ^ h

用法: ./ request_tower_configuration sh < 选项>

Ansible Tower 请求服务器 配置

OPTIONS :

ħ 显示 此 消息

小号 Tower 服务器 (É HTTPS :// Tower示例的COM ) (需要)

ķ 允许 不安全 SSL 连接 传输

ç 主机 配置 键 (需要)

吨 作业 模板 ID (必填)

Ë 额外的 变量

小号 号码 的 秒 之间的 重试次数 (默认值: 60 )

这个脚本是聪明的,因为它知道如何重试命令,因此比使用简单卷曲请求更有效的使用回调方式。如书面所述,脚本每分钟重试一次,持续十分钟。

注意

请注意,这是一个示例脚本。如果在检测到故障情况时需要更多动态行为,则应编辑此脚本,因为任何非200错误代码可能不是需要重试的暂时错误。

很可能您将在Tower中使用带有动态库存的回调,例如从支持的云提供商之一提取云库存。在这些情况下,以及设置“ 更新启动”时,请务必为库存源配置库存缓存超时,以避免对Oracle的端点进行锤击。由于request_tower_configuration.sh脚本每分钟轮询一次最多十分钟,因此建议的高速缓存无效化时间(在库存源本身上配置)将为一到两分钟。

虽然我们建议不要request_tower_configuration.sh从cron作业运行脚本,建议的cron间隔可能是每30分钟一次。重复配置可以通过在Tower中进行调度轻松处理,因此大多数用户主要使用回调是启用在上线时被引导到最新配置中的基本映像。要这样做,首次启动时运行是一个更好的做法。首先引导脚本只是简单的初始化脚本,通常是自我删除的,因此您将设置一个init脚本,该request_tower_configuration.sh脚本调用脚本的副本并将其写入自动缩放映像。

Passing Extra Variables to Provisioning Callbacks

就像您可以通过extra_vars常规工作模板一样,您也可以将它们传递给配置回调。要传递extra_vars,发送的数据必须是作为应用程序/ json(作为内容类型)的POST请求的正文的一部分。添加自己extra_vars要传递的JSON格式作为示例:

‘{“extra_vars”:{“variable1”:“value1”,“variable2”:“value2”,…}}’

(在安全可靠的版本2.2.0中添加)

您还可以使用curl以下示例将额外的变量传递给作业模板调用:

root @ localhost :〜$ curl -f -H’Content-Type:application / json’-XPOST \

-d'{“host_config_key”:“5a8ec154832b780b9bdef1061764ae5a”,“extra_vars”:“{\”foo \“:\”bar \“}”}’\

http:// <Tower server name> / api / v2 / job_templates / 1 / callback

有关详细信息,请参阅使用卷曲启动作业

Provisioning Callback through tower-cli

作为运行request_tower_configuration.sh脚本或自定义脚本的替代方法,您可以使用tower-cli进行配置回调,如以下示例所示:

tower cli job_template callback host config key = “5a8ec154832b780b9bdef1061764ae5a” extra vars = “foo:bar”

额外的变量(Extra Variables)

注意

extra_varsAnsible Tower 3.0.0中增加了严格的验证。extra_vars传递到作业启动API只有符合以下条件之一才能兑现:

  • 它们对应于已启用的调查中的变量
  • ask_variables_on_launch 设置为True

当您传递测量变量时,它们将作为额外的变量(extra_vars)传递给Tower。这可能是棘手的,因为将额外的变量传递给作业模板(与调查一样)可以覆盖从库存和项目传递的其他变量。

例如,假设您有一个清单的定义变量。这个变量完全有可能在作业模板调查中被覆盖。debug = truedebug = true

要确保您需要通过的变量不被覆盖,请确保在调查中重新定义变量。请记住,可以在库存,组和主机级别定义额外的变量。

注意

从Ansible Tower版本2.4开始,Job Template的额外变量和Survey变量的行为发生了变化。以前,使用调查设置的变量会覆盖作业模板中指定的任何额外的变量。在2.4及更高版本中,作业模板额外变量字典与Survey变量合并。这可能导致升级到2.4时的行为发生变化。

下表列出了可索引Tower中可变优先级的行为(层次结构),因为它与可靠的可变优先级进行了比较。

可变Tower变量优先级别(最后列出的胜利)

《Ansible Tower 用户指南 v3.2.1》

重新启动作业模板(Relaunching Job Templates)

Ansible Tower版本2.4的另一个变化介绍了launch_type您的工作的设置。而不是手动重新启动作业,重新启动通过设置launch_type来表示relaunch。重新启动的行为偏离了启动行为,因为它不会继承extra_vars。

工作重新启动不会通过继承逻辑。它使用与extra_vars重新启动的工作计算的相同。

例如,假设您启动了一个作业模板,没有extra_vars创建一个名为j1的作业。接下来,说你编辑作业模板并添加一些extra_vars(如添加)。”{ “hello”: “world” }”

重新启动j1导致创建j2,但是由于没有继承逻辑,并且j1没有extra_vars,j2将不会有任何extra_vars。

要继续此示例,如果您extra_vars在创建j1之后添加了您创建的作业模板,那么创建的重新启动作业(j3)将包括extra_vars。并重新启动j3导致创建j4,这也将包括extra_vars。

工作流作业模板(Workflow Job Templates)

一个工作流程作业模板链接在一起的不同作业模板的序列完成跟踪全套的,共有释放过程作为单个单元的一部分工作的任务。

此菜单打开当前可用的工作流和作业模板的列表。模板列表可以按名称说明进行排序和搜索。“ 作业模板”选项卡还使用户能够启动,调度,修改和删除工作流或作业模板。

《Ansible Tower 用户指南 v3.2.1》

创建一个工作流模板(Create a Workflow Template)

创建新的工作流作业模板:

  1. 单击该 《Ansible Tower 用户指南 v3.2.1》 按钮,然后从菜单列表中选择工作流作业模板

《Ansible Tower 用户指南 v3.2.1》

  1. 在以下字段中输入适当的详细信息:
  • 名称:输入工作流模板的名称。
  • 说明:酌情输入任意描述(可选)。
  • 组织:输入或搜索组织以关联工作流。
  • 标签:提供描述此工作流模板的可选标签,如“dev”或“test”。标签可用于在Tower显示中对工作流模板和完成的作业进行分组和过滤。
    • 将标签添加到工作流模板时创建。标签与使用工作流模板中提供的项目的单个组织相关联。如果组织的成员具有编辑权限(例如管理员角色),则可以在工作流模板上创建标签。
    • 保存工作流模板后,标签将显示在“模板”概述中。
    • 点击标签旁边的“x”将其删除。当标签被删除,并且不再与工作流程或工作流模板相关联时,该标签将从组织标签列表中永久删除。
    • 作业在启动时从工作流模板继承标签。如果从工作流模板中删除了一个标签,那么它也从作业中删除。

《Ansible Tower 用户指南 v3.2.1》 《Ansible Tower 用户指南 v3.2.1》

  • 额外变量
    • 将额外的命令行变量传递给playbook。这是Ansible-playbook的“-e”或“-extra-vars”命令行参数,该参数记录在命令行传递变量的可复制文档中。
    • 使用YAML或JSON提供键/值对。这些变量具有最大优先级,并覆盖其他地方指定的其他变量。示例值可能是:
    • git_branch : production
    • release_version : 1.5

有关额外变量的更多信息,请参阅额外变量

  1. 完成配置工作流作业模板后,选择保存

如果需要,保存模板不会退出“工作流作业模板”页面,但仍保留在“工作流作业模板详细信息”视图中以供进一步编辑。保存的模板的“详细信息”选项卡允许您使用编辑器查看,编辑和添加权限,通知,调查或构建工作流作业模板。

《Ansible Tower 用户指南 v3.2.1》

当新创建的工作流作业模板出现在屏幕底部的模板列表中时,可以验证模板是否被保存。

《Ansible Tower 用户指南 v3.2.1》

使用权限(Work with Permissions)

单击权限允许您查看,授予,编辑和删除用户以及团队成员的相关权限。

《Ansible Tower 用户指南 v3.2.1》

单击 《Ansible Tower 用户指南 v3.2.1》 按钮以创建此工作流作业模板的新权限。

在此示例中,已选择两个用户和一个团队,并且每个团队已被授予此工作流模板的权限。

《Ansible Tower 用户指南 v3.2.1》

请注意,您不必在团队或用户之间进行选择,并且您可以同时向两者分配权限。

使用通知(Work with Notifications)

点击通知可以查看您设置的任何通知集成。

点击 《Ansible Tower 用户指南 v3.2.1》 按钮创建通知。

有关详细信息,请参阅通知

《Ansible Tower 用户指南 v3.2.1》

调查(Surveys)

包含“运行”或“检查”作业类型的工作流提供了在“工作流作业模板”创建或编辑屏幕中设置调查的方法。调查为类似“提示额外变量”的剧本设置了额外的变量,但是以用户友好的问答方式。调查还允许验证用户输入。点击 《Ansible Tower 用户指南 v3.2.1》 按钮创建一个调查。

调查用例众多。一个例子可能是,如果操作想要给开发者一个“推入阶段”按钮,他们可以运行没有高级可读知识。在启动时,此任务可能会提示对“我们应该发布什么标签”等问题的答案。

可以询问许多类型的问题,包括多项选择题。

注意

调查仅适用于拥有企业级许可证的人员。

创建一个调查(Create a Survey)

创建调查:

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮打开添加测量窗口。

《Ansible Tower 用户指南 v3.2.1》

使用屏幕顶部的ON / OFF切换按钮快速激活或停用此调查提示。

  1. 一项调查可能包括任何问题。对于每个问题,请输入以下信息:
  • 名称:询问用户的问题。
  • 说明 :(可选)说明用户要询问的内容。
  • 答案变量名称:用于存储用户响应的可变变量名称。这是用于播放的变量。变量名不能包含空格。
  • 答案类型:从以下问题类型中选择。
    • 文本:单行文本。您可以设置此答案的最小和最大长度(以字符为单位)。
    • Textarea:多行文本字段。您可以设置此答案的最小和最大长度(以字符为单位)。
    • 密码:响应被视为敏感信息,很像实际的密码被处理。您可以设置此答案的最小和最大长度(以字符为单位)。
    • 多选(单选):选项列表,其中一次只能选择一个。在多选择选项框中输入选项,每行一个。
    • 多重选择(多选):选项列表,其中任何一个可以一次选择。在多选择选项框中输入选项,每行一个。
    • 整数:整数。您可以设置此答案的最小和最大长度(以字符为单位)。
    • 浮点数:十进制数。您可以设置此答案的最小和最大长度(以字符为单位)。
  • 默认答案:问题的默认答案。该值预先填写在界面中,如果用户不提供答案,则使用该值。
  • 必需:用户是否需要回答此问题。
  1. 输入问题信息后,点击 《Ansible Tower 用户指南 v3.2.1》 按钮添加问题。

调查的风格化版本在“预览”窗格中显示。对于任何问题,您可以单击编辑按钮来编辑问题,删除按钮删除问题,然后单击并拖动网格图标以重新排列问题的顺序。

  1. 返回到左窗格以添加其他问题。
  2. 完成后,单击保存以保存调查。

《Ansible Tower 用户指南 v3.2.1》

可选调查问题(Optional Survey Questions)

调查问题中的必需设置决定用户与其交互的答案是否是可选的。

在幕后,extra_vars即使没有填写,可选的调查变量也可以传递给本书。

  • 如果非文本变量(输入类型)被标记为可选项,并且未填写,则不进行任何调查extra_var。
  • 如果文本输入或文本区域输入被标记为可选的,则不填写,并且具有最小值,则不会将调查传递给该手册。length > 0extra_var
  • 如果文本输入或文本区输入被标记为可选的,则不填写,并且具有最小值,该调查将传递给该手册,其值设置为空字符串(“”)。length === 0extra_var

工作流程编辑器(Workflow Editor)

从Ansible Tower 3.1开始,“工作流程编辑器”提供了一种将作业模板,项目同步和库存同步链接在一起的图形化方式,以构建工作流作业模板。

构建工作流程(Build a Workflow)

确保您具有以下两个模板的任意组合来构建工作流:作业,项目同步或库存同步。

  1. 在工作流作业模板的详细信息/编辑视图中,单击 《Ansible Tower 用户指南 v3.2.1》 按钮启动工作流编辑器。

《Ansible Tower 用户指南 v3.2.1》

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮显示添加到工作流的模板列表。

《Ansible Tower 用户指南 v3.2.1》

  1. 在右窗格中,从要添加的模板列表中选择一个模板。要在作业,项目同步和库存同步之间切换,请点击上面的相应按钮。添加的每个模板代表一个节点。

注意

填写工作流图时,您将无法选择没有默认库存或凭证的作业模板。

  1. 选择模板后,工作流将开始构建,并显示提示,请求为所选模板采取的操作类型:

《Ansible Tower 用户指南 v3.2.1》

与每个工作流节点相关联的模板将在成功或失败的情况下运行。

  1. 选择以下场景之一(边缘类型)以应用于此模板:
  • 成功:成功完成后,执行下一个模板。
  • 失败:失败后,执行不同的模板。
  • 始终:无论成败如何,继续执行。
  1. 完成添加节点后,单击选择以在图形视图上呈现。

将鼠标悬停在模板上可以删除所选模板 《Ansible Tower 用户指南 v3.2.1》 ,或添加另一个模板 《Ansible Tower 用户指南 v3.2.1》

《Ansible Tower 用户指南 v3.2.1》

注意

如果您创建了具有任意数量的串联工作模板或作业/库存同步的工作流作业模板,并且其中一个已从资源清单中删除(资源不再存在),则返回工作流程编辑器以获得受影响的工作流程作业模板会将缺少的资源显示为不完整的节点。

《Ansible Tower 用户指南 v3.2.1》

要修复不完整的节点,请使用新的作业模板进行更新或将其从工作流中删除。

您可以在节点之间插入另一个节点,并拖动该图来描述一个拆分场景:

《Ansible Tower 用户指南 v3.2.1》

如果要撤消最后插入的节点,当右窗格打开时,单击取消或继续单击另一个节点,而不从右窗格中进行选择。

如果要编辑节点,请单击要编辑的节点,右窗格将显示当前选择。进行更改,然后单击选择将其应用于图形视图。

以下是一个工作流的示例,其中包含由作业模板发起的所有三种类型的作业,如果它无法运行,则继续进行项目同步作业,并且不管是否失败或成功,请继续进行库存同步作业。

《Ansible Tower 用户指南 v3.2.1》

使用窗口顶部的键来识别与图形描述相关联的符号和颜色的含义。

您可以从同一父节点添加多个节点,创建兄弟节点:

《Ansible Tower 用户指南 v3.2.1》

注意

在具有一组具有不同边缘类型的兄弟步骤的工作流中,并且其中一个兄弟姐妹具有附加的后续步骤,从工作流程中删除:

《Ansible Tower 用户指南 v3.2.1》

后续步骤将自动加入一组兄弟步骤。如果现在的兄弟姐妹中有多个边缘类型,就会发生边缘冲突:

《Ansible Tower 用户指南 v3.2.1》

您必须先解决此冲突,然后才能保存工作流作业模板。要解决冲突,使所有的兄弟姐妹都有相同的边缘类型。

单击设置图标( 《Ansible Tower 用户指南 v3.2.1》 )可以缩放,平移或重新定位视图。拖动工作流程图将其重新定位在屏幕上。

  1. 完成构建工作流作业模板后,单击保存返回创建新的工作流模板详细信息页面。

重要

单击此窗格上的关闭将不会保存您的工作,而是关闭整个工作流编辑器,您将不得不重新开始。

  1. 单击保存以保存整个工作流作业模板。

启动工作流作业模板(Launch a Workflow Job Template)

启动工作流作业模板:

  1. 从“模板”导航链接或“工作流作业模板详细信息”视图中访问工作流作业模板,滚动到底部以从模板列表中进行访问。

《Ansible Tower 用户指南 v3.2.1》

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 要启动的工作流旁边的图标。

除了在作业模板和调查中设置的任何额外的变量之外,Tower自动添加与启动时添加到作业模板中的变量相同的变量。此外,Tower自动将Web浏览器重定向到作业的“作业详细信息”页面,显示进度和结果。

《Ansible Tower 用户指南 v3.2.1》

调度(Scheduling)

也可以通过 《Ansible Tower 用户指南 v3.2.1》 按钮安排启动作业模板。单击此按钮将打开“计划”页面。

《Ansible Tower 用户指南 v3.2.1》

此页面显示当前可用于所选工作流作业模板的计划列表。可以通过以下任一方式排序和搜索计划表:

  • 名称:单击计划名称将打开“ 编辑计划”对话框
  • 第一次运行:这个任务的第一个预定运行
  • 下一个运行:下一个这个任务的运行
  • 最终运行:如果任务有结束日期,这是任务的最后一次运行

“ 排程”屏幕右上角的按钮提供以下操作:

  • 查看活动流
  • 添加新的时间表

安排工作流作业模板(Schedule a Workflow Job Template)

创建新的时间表:

  1. 从“排程”屏幕中,单击 《Ansible Tower 用户指南 v3.2.1》 按钮。
  2. 在以下字段中输入适当的详细信息:
  • 名称
  • 开始日期
  • 开始时间
  • 本地时区:输入的开始时间应在此时区
  • 重复频率:修改更新频率时显示适当的选项

注意

工作预定在UTC。在特定时间段内重复运行的作业可能会在夏令时发生时相对于本地时区移动。

下面的计划说明显示计划的详细信息以及所选本地时区中排定发生的列表。

《Ansible Tower 用户指南 v3.2.1》

  1. 当满足计划详细信息时,单击保存

保存计划后,将显示关联的工作流作业模板的计划列表。

《Ansible Tower 用户指南 v3.2.1》

使用ON / OFF切换按钮快速激活或停用此计划。

“操作”列下有几个可用于计划的操作:

  • 编辑计划
  • 删除时间表

复制工作流作业模板(Copy a Workflow Job Template)

可复制Tower允许您复制工作流作业模板。如果选择复制工作流作业模板,则不会复制任何关联的计划,通知或权限。必须由创建工作流作业模板的副本的用户或管理员重新创建计划和通知。复制工作流作业模板的用户将被授予管理员权限,但没有将权限分配(复制)到工作流作业模板。

  1. 从“ 模板”导航链接访问要复制的工作流作业模板,或者在“工作流作业模板详细信息”视图中,滚动到底部以从模板列表中进行访问。

《Ansible Tower 用户指南 v3.2.1》

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。

将打开一个新模板,其中包含您从中复制的模板的名称和时间戳。

用新名称替换名称字段的内容,并提供或修改其他字段中的条目来完成此页面。

  1. 完成后点击保存

额外的变量(Extra Variables)

注意

extra_varsAnsible Tower 3.0.0中增加了严格的验证。extra_vars传递到作业启动API只有符合以下条件之一才能兑现:

  • 它们对应于已启用的调查中的变量
  • ask_variables_on_launch 设置为True

当您传递测量变量时,它们将作为额外的变量(extra_vars)传递给Tower。这可能很棘手,因为将额外的变量传递给工作流模板(与调查相同)可以覆盖从库存和项目传递的其他变量。

例如,假设您有一个清单的定义变量。这个变量完全可以在工作流模板调查中被覆盖。debug = truedebug = true

要确保您需要通过的变量不被覆盖,请确保在调查中重新定义变量。请记住,可以在库存,组和主机级别定义额外的变量。

下表列出了可索引Tower中可变优先级的行为(层次结构),因为它与可靠的可变优先级进行了比较。

可变Tower变量优先级别(最后列出的胜利)

《Ansible Tower 用户指南 v3.2.1》

工作(Jobs)

一个工作是Tower的一个实例,启动一个可疑的剧本反对主机的清单。

作业链接显示作业及其状态列表,显示为已成功完成或失败,或显示为活动(正在运行)作业。您可以从此屏幕执行的操作包括查看特定作业的详细信息和标准输出,重新启动作业或删除作业。

《Ansible Tower 用户指南 v3.2.1》

使用“Tower搜索”功能通过各种标准查找作业。有关使用Tower搜索的详细信息,请参阅搜索章节。

单击任何类型的作业将导致您进入该作业的作业详细信息视图,该视图由两部分组成:

  • 详细信息窗格提供有关作业的信息和状态
  • 标准输出窗格,显示作业过程和输出

《Ansible Tower 用户指南 v3.2.1》

工作详情 – 库存同步(Job Details – Inventory Sync)

《Ansible Tower 用户指南 v3.2.1》

细节(Details)

“ 详细信息”窗格显示作业的基本状态及其开始时间。“ 详细信息”窗格右上角的图标允许您重新启动( 《Ansible Tower 用户指南 v3.2.1》 )或删除( 《Ansible Tower 用户指南 v3.2.1》 )作业。

详细信息窗格提供有关作业执行的详细信息:

  • 名称:关联的库存组的名称。
  • 状态:可以是以下任何一种:
    • 待处理 – 库存同步已创建,但未排队或启动。任何工作(不仅仅是库存来源同步)将保持待定状态,直到实际准备好由系统运行。因为它具有当前正在运行的依赖关系,因此它必须等待直到完成,或者没有足够的容量才能在配置的位置运行,因此没有准备好。
    • 等待 – 库存同步处于等待执行的队列中。
    • 正在运行 – 库存同步正在进行中。
    • 成功 – 库存同步作业成功。
    • 失败 – 库存同步作业失败。
  • 说明:描述失败的原因。
  • 许可证错误:仅针对库存同步作业显示。如果这是 True,则由库存同步添加的主机会导致Tower超出许可的托管主机数量。
  • 已启动:Tower的启动时间戳。
  • 完成:作业完成时间戳。
  • 已过期:工作总时间。
  • 启动类型手动计划依赖关系
  • 凭据:此库存中使用的凭据同步。
  • 资料来源:云库存类型。
  • 覆盖:如果为True,则以前在外部来源存在但现已被删除的任何主机和组将从Tower清单中删除。未由库存来源管理的主机和组将被提升为下一个手动创建的组,或者如果没有手动创建的组来进行升级,那么它们将保留在库存的“全部”默认组中。如果False,则在外部源上找不到本地子主机和组,库存更新过程仍然保持不变。
  • 覆盖Vars:如果为True,则子组和主机的所有变量将被删除并替换为外部源上的变量。如果为False,则执行合并,将局部变量与外部源上的变量相结合。

通过点击这些项目,在适当的情况下,您可以查看相应的作业模板,项目和其

标准输出窗格(Standard Out)

标准输出窗格显示运行库存同步剧本的全部结果。这显示了您通过可执行命令行运行相同的信息,并可用于调试。标准出格窗格右上角的图标允许您将输出切换为主视图( 《Ansible Tower 用户指南 v3.2.1》 )或下载输出( 《Ansible Tower 用户指南 v3.2.1》 )。

工作详情 – SCM(Job Details – SCM)

《Ansible Tower 用户指南 v3.2.1》

细节(Details)

“ 详细信息”窗格显示作业的基本状态及其开始时间。“ 详细信息”窗格右上角的图标允许您重新启动( 《Ansible Tower 用户指南 v3.2.1》 )或删除( 《Ansible Tower 用户指南 v3.2.1》 )作业。

详细信息窗格提供有关作业执行的详细信息:

  • 名称:关联的库存组的名称。
  • 状态:可以是以下任何一种:
    • 待处理 – SCM作业已创建,但未排队或启动。任何工作(不仅仅是SCM作业)将保持待定状态,直到它实际上准备好由系统运行。因为它具有当前正在运行的依赖关系,因此它必须等待直到完成,或者没有足够的容量才能在配置的位置运行,因此没有准备好。
    • 等待 – SCM作业处于等待执行的队列中。
    • 正在运行 – SCM作业正在进行中。
    • 成功 – 最后一个SCM工作成功。
    • 失败 – 最后一个SCM作业失败。
  • 已启动:Tower的启动时间戳。
  • 完成:作业完成时间戳。
  • 已过期:工作总时间。
  • 启动类型手动计划
  • 项目项目名称。

通过点击这些项目,在适当的情况下,您可以查看相应的作业模板,项目和其他Tower对象。

标准输出(Standard Out)

标准输出窗格显示运行SCM更新的全部结果。这显示了您通过可执行命令行运行相同的信息,并可用于调试。标准出格窗格右上角的图标允许您将输出切换为主视图( 《Ansible Tower 用户指南 v3.2.1》 )或下载输出( 《Ansible Tower 用户指南 v3.2.1》 )。

工作详情 – 手册运行(Job Details – Playbook Run)

《Ansible Tower 用户指南 v3.2.1》

作业详细信息视图的剧本运行作业还推出从一个作业后进入作业模板页面。

细节(Details)

“ 详细信息”窗格显示作业的基本状态及其开始时间。“ 详细信息”窗格右上角的图标允许您重新启动( 《Ansible Tower 用户指南 v3.2.1》 )或删除( 《Ansible Tower 用户指南 v3.2.1》 )作业。

详细信息窗格提供有关作业执行的详细信息:

  • 状态:可以是以下任何一种:
    • 待处理 – 剧本运行已创建,但未排队或启动。任何工作(不仅仅是手册)将保持待定,直到它实际上准备好由系统运行。因为它具有当前正在运行的依赖关系,因此它必须等待直到完成,或者没有足够的容量才能在配置的位置运行,因此没有准备好。
    • 等待 – 剧本运行在等待执行的队列中。
    • 正在运行 – 正在进行该剧本的运行。
    • 成功 – 最后一本剧本成功了。
    • 失败 – 最后一个剧本运行失败。
  • 模板:此作业启动的作业模板的名称。
  • 已启动:Tower的启动时间戳。
  • 完成:作业完成时间戳。
  • 已过期:工作总时间。
  • 启动者:启动此作业的用户,作业或计划扫描作业的名称。
  • 库存:根据以下选项运行此作业的库存。
  • 机器凭证:此作业中使用的凭证的名称。
  • 详细程度:创建作业模板时设置的详细级别。
  • 额外变量:在此处显示创建作业模板时传递的任何额外变量。

通过点击这些项目,在适当的情况下,您可以查看相应的作业模板,项目和其他Tower对象。

标准输出窗格(Standard Out Pane)

“ 标准出”窗格显示运行“可复制”剧本的完整结果。这显示了您通过可执行命令行运行相同的信息,并可用于调试。您可以查看事件摘要,主机状态和主机事件。标准出格窗格右上角的图标允许您将输出切换为主视图( 《Ansible Tower 用户指南 v3.2.1》 )或下载输出( 《Ansible Tower 用户指南 v3.2.1》 )。

活动摘要(Events Summary)

事件摘要记录了作为本剧本一部分运行的事件计数:

  • 播放次数
  • 任务数量
  • 主机数量
  • 运行作业模板所用的时间

《Ansible Tower 用户指南 v3.2.1》

主机状态栏(Host Status Bar)

主机状态栏横跨标准出口窗格的顶部。将鼠标悬停在主机状态栏的一部分上,并显示与该特定状态相关联的主机数量。

《Ansible Tower 用户指南 v3.2.1》

搜索(Search)

使用Tower搜索来查找特定事件,主机名及其状态。要仅过滤具有特定状态的特定主机,请指定以下有效状态之一:

  • 更改:实际执行的剧本任务。由于可写任务应写为幂等,任务可能会成功退出,而不需要在主机上执行任何操作。在这些情况下,任务将返回OK,但不会更改。
  • 失败:任务失败。此主机已停止进一步的手册执行。
  • OK:playbook任务返回“Ok”。
  • 无法访问:主机从网络无法访问,或者与其相关联的另一个致命错误。
  • 跳过:由于主机达不到目标状态,因此无需进行任何更改,因此跳过了此操作。

以下示例显示仅搜索失败的主机。

《Ansible Tower 用户指南 v3.2.1》

有关使用Tower搜索的更多详细信息,请参阅搜索章节。

标准输出视图(Standard output view)

标准输出视图显示在特定作业上发生的所有事件。默认情况下,所有行都被展开,以便显示所有的细节。使用collapse-all按钮( 《Ansible Tower 用户指南 v3.2.1》 )切换到只包含播放和任务标题的视图。单击( 《Ansible Tower 用户指南 v3.2.1》 )按钮查看标准输出的所有行。

或者,您可以通过点击其旁边的箭头图标来显示特定播放或任务的所有详细信息。单击从侧向下箭头以展开与该播放或任务相关联的线。单击箭头返回到侧向位置以折叠和隐藏线条。

《Ansible Tower 用户指南 v3.2.1》

在展开/折叠模式下查看详细信息时要注意的事项:

  • 每个未折叠的显示行都有相应的行号和开始时间。
  • 在播放或任务完成后,任何播放或任务开始时,展开/折叠图标。
  • 如果查询特定的播放或任务,它将在完成的过程结束时显示为折叠。
  • 在某些情况下,将出现一条错误消息,指出输出可能太大,无法显示。当有超过4000个事件发生。使用特定事件的搜索和过滤来绕过错误。
  • 将鼠标悬停在“ 标准输出”视图中的事件行上,该行上方会显示一个工具提示,给出受此任务影响的总主机,并显示有关其状态细分的更多详细信息的选项。

《Ansible Tower 用户指南 v3.2.1》

从“ 标准出口”窗格中单击一行事件,“ 主机事件”对话框将显示在单独的窗口中。此窗口显示受该特定事件影响的主机。

主机事件(Host Events)

举办活动对话框将显示受所选事件及其相关的游戏和任务的主机信息:

  • 主机
  • 状态
  • 唯一的ID
  • 一个创建的时间戳
  • 播放的名称
  • 任务的名称
  • (如果适用)该任务的可复制模块,以及该模块的任何参数
  • 标准输出任务

《Ansible Tower 用户指南 v3.2.1》

要以JSON格式查看结果,请单击“ JSON”选项卡。

《Ansible Tower 用户指南 v3.2.1》

作业并发(Job Concurrency)

Tower限制了可以根据物理内存量和剧本的复杂性运行的同时作业的数量。可靠的Tower3.1.0通过在集群中增加N个Tower主机来增加额外的工作容量。您将能够查看Tower在Ping API端点中运行作业的能力。作业本身还显示任务正在运行的节点。

如果选中“启动更新”设置,那么依靠清单或项目的作业模板也会在缓存超时内触发更新。如果在高速缓存超时期间启动多个作业,这取决于相同的项目或库存,则只会创建这些项目或库存更新中的一个(而不是依赖于其的每个作业)。

如果您遇到问题,请尝试将项目或库存源上的缓存超时设置为60秒。

Tower的容量限制与您的Tower服务器上的RAM数量有关,因为这会限制您的库存更新的大小以及可以从中收集和存储事实的机器总数。所使用的算法是:

50 + ((总 内存 兆字节) / 1024 ) 2 ) * 75

以50为基准。

运行的每个作业都会根据以下计算消耗容量:

(数量 的 叉子 上 的 工作) * 10

叉子确定与远程主机通信时产生的并行进程的默认数量。可选号码默认值非常保守,设置为五(5)。如果您没有在Tower中通过货值(将其保留为0),则Ansible将使用5个叉(默认值),从而导致容量使用量为50.如果将“叉”值设置为“Tower”中的1(1),则“可使用”输入的值和一(1)个叉子被创建。按照指示使用非零输入。

叉号自动被限制在可能的主机数量上,所以这实际上是您可以处理多少网络和CPU负载的限制。许多用户将其设置为50,而其他用户设置为500或更多。如果您拥有大量主机,较高的值将使所有这些主机的操作更快地完成。您可以编辑该ansible.cfg文件以更改Ansible为所有作业使用的默认分叉值; 但是,对该默认默认值的任何修改将不会用于容量计算。

例如,如果在具有2 GB内存的系统上有0个作业(Tower默认值),则您的算法将如下所示:

50 + ((2048个 / 1024个) 2 ) * 75 = 50

如果您在具有4 GB内存的系统上有0个作业(Tower默认值),则可以同时运行四(4)个任务,其中包括回调。

50 + ((4096个 / 1024个) 2 ) * 75 = 200

请注意,Tower将将所使用的容量限制为“配置的叉数”和“播放列表库存中的主机数”。这个最小值不考虑任何一个“限制”放置在作业模板或在剧本hosts:行中。

可以通过在Tower设置文件(/etc/tower/settings.py)中设置值来更改,如:

SYSTEM_TASK_CAPACITY = 300

如果要覆盖设置,请谨慎使用,因为如果将此值设置得太高,则可能会用尽RAM。您可以查看在使用的容量/api/v2/instances和/api/v2/instance_groupsAPI端点和寻找相似的一行:

“capacity” : 125 ,

“consum_capacity” : 75 ,

“percent_capacity_remaining” : 60.0 ,

这是当前计算的设置。Capacity: 60

只要你有能力这样做,Tower试图排队并运行最多的工作。然而,有一些阻止和例外值得注意。

  • 作业模板将阻止使用同一个库存启动的另一个作业模板的同一个实例(这是行为变化 – 在可复制的Tower3.0之前,作业模板会阻止另一个作业模板的同一个实例)。
  • 项目更新,SCM更新或库存更新将阻止需要相同更新的另一个项目。
  • 通过配置回调启动的作业模板可以运行,而不是作为同一主机上的实例运行。这允许在同一库存上运行两(2)个模板。但是,如果库存需要更新,它们将不会运行。回调是从主机到库存接收“推送请求”的特殊类型的作业模板。它们仅在一台主机上运行,​​并且可以与其他作业并行运行,只要它们是不同的回调和不同的主机。
  • 系统作业只能一次运行一个。他们阻止所有其他工作,必须自行运行,以避免冲突。系统工作将完成后面的工作计划,但将在完成排在后面的工作之前完成。
  • 如果他们等待备用作业运行能力,工作可能排队等候。
  • 任何针对特定作业的库存更新运行的特定作业都将被阻止。
  • 您可以选择允许多个作业模板同时运行的能力。这是通过启用并发作业选项在每个作业模板的基础上的可配置选项。

《Ansible Tower 用户指南 v3.2.1》

通知(Notifications)

通告程序是一个实例通知类型(电子邮件,松弛,网络挂接等)的名称,描述和限定的结构。

例如:

  • 电子邮件通知程序需要用户名,密码,服务器和收件人
  • 松弛通知器需要令牌和通道列表
  • Webhook通知程序需要URL和标题

通知是通知器的一种表现形式; 例如,当作业失败时,使用通知程序定义的配置发送通知。

在高层次上,通知系统的典型流程如下:

  • 用户/api/v2/notifiers通过端点(通过API或通过Tower UI)为Tower REST API创建一个通知程序。
  • 用户将通知程序分配给任何支持它的各种对象(工作模板以及组织和项目的所有变体)以及他们想要通知(错误,成功或任何)的适当触发级别。例如,当作业模板1失败时,用户可能希望分配特定的通知程序来触发。在这种情况下,他们将通知/api/v2/job_templates/n/notifiers_errorAPI 与API端点上的作业模板相关联。

通知程序层次结构(Notifier Hierarchy)

在某些级别分配的通告程序将继承在父对象上定义的通知符:

  • 作业模板将使用它上定义的通知,以及继承工作模板和组织(通过项目)列出的项目使用的通知程序。
  • 项目更新将使用在项目上定义的通知,并将继承与该组织关联的组织的通知符
  • 库存更新将使用在本组织下定义的通知符
  • Ad-hoc命令将使用在本组织中定义的与该库存相关联的通知

工作流程(Workflow)

当作业成功或失败时,错误或成功处理程序将使用上面定义的过程提取相关通知程序列表。然后,它将为包含相关作业详细信息的每个消息创建一个Notification对象,然后将其发送到目的地(电子邮件地址,松散通道,短信号等)。这些通知对象可用作作业类型(作业,库存更新,项目更新)上的相关资源,也可在/api/v2/notifications。您还可以通过检查其相关资源,看到从通知程序发送的通知。

如果通知失败,它不会影响与其关联的作业或导致其失败。通知的状态可以在其详细的端点(/api/v2/notifications/<n>)查看。

创建通知模板(Create a Notification Template)

创建通知模板:

  1. 单击 《Ansible Tower 用户指南 v3.2.1》 按钮并选择通知

《Ansible Tower 用户指南 v3.2.1》

  1. 点击 《Ansible Tower 用户指南 v3.2.1》 按钮。

《Ansible Tower 用户指南 v3.2.1》

  1. 在其各自的字段中输入通知的名称,描述及其所属的组织。
  2. 类型下拉菜单中选择一种类型的通知。有关其他信息,请参阅后续章节。
  3. 所有必需信息完成后,单击保存以添加通知。

通知类型(Notification Types)

它们中的每一个都有自己的配置和行为语义,并且可能需要以不同的方式来进行测试。以下部分将尽可能提供更多细节。

Email

电子邮件通知类型支持各种SMTP服务器,并支持TLS / SSL连接。

您必须提供以下详细信息来设置电子邮件通知: – 用户名 – 主机 – 发件人电子邮件 – 收件人列表 – 密码 – 端口

《Ansible Tower 用户指南 v3.2.1》

警告

TLS和SSL连接是互斥的,不应该同时选择。确保只选择一次检查,这两个原因导致通知默认失败。

Slack

Slack是一个协作团队的沟通和通讯工具,很容易配置。

您必须提供以下设置来设置Slack通知:

您还必须邀请通知机器人加入相关频道。请注意,不支持私人消息。

《Ansible Tower 用户指南 v3.2.1》

Twilio

Twilio服务是语音和短信自动化服务。登录后,您必须创建一个电话号码,从该号码发送邮件。然后,您可以在可编程SMS下定义“消息传递服务”,并将之前创建的号码与之相关联。

请注意,您可能需要验证此号码或其他信息,然后才能将其发送到任何数字。消息传递服务不需要状态回调URL,也不需要处理入站消息的功能。

在您的个人(或子)帐户设置下,您将拥有API凭据。Twilio使用两个凭据来确定API请求来自哪个帐户。充当用户名的“帐户SID”和作为密码的“授权令牌”。

要设置Twilio,请提供以下详细信息:

  • 帐号令牌
  • 来源电话号码(这是与上述消息传递服务相关的号码,必须以“+15556667777”的形式提供)
  • 目的地电话号码(这将是收到短信的号码列表,应为10位电话号码)
  • 帐户SID

《Ansible Tower 用户指南 v3.2.1》

PagerDuty

PagerDuty是一个相当简单的集成。用户必须首先在pagerduty系统中创建一个API密钥(这是给予Tower的令牌),然后创建一个“服务”,该服务将提供给“Tower”的“集成密钥”。其他注意事项是:

  • API令牌:用户必须首先在PagerDuty系统中创建一个API密钥(这是给予Tower的令牌。
  • PagerDuty Subdoman:当您注册PagerDuty帐户时,您将收到一个唯一的子域来进行沟通。例如,如果您注册为“最高级”,则Web信息中心将在towertest.pagerduty.com您的位置,您将将Tower API towertest作为子域(不是完整的域)。
  • API服务/集成密钥
  • 客户端标识符:这将与警报内容一起发送到pagerduty服务,以帮助识别正在使用api密钥/服务的服务。如果多个集成使用相同的API密钥和服务,这是有帮助的。

《Ansible Tower 用户指南 v3.2.1》

HipChat

有几种方法可以与HipChat集成。Tower实施使用HipChat“集成”。目前您可以在HipChat主要网页视图的右下角找到它。从那里,您将选择“建立自己的集成”。在创建之后,它将列出需要提供给Tower的auth_token。关于HipChat通知类型的Tower接受的领域的一些其他相关细节:

  • 目的地频道:应接收通知的频道(例如“工程”或“#support”)。
  • 令牌:在构建自己的HipChat集成之后列出的令牌。
  • 要显示的标签与通知:除了集成名称本身,这将在通知上放置另一个标签(如果多个服务使用相同的集成来区分它们可能会有帮助)。
  • API URL:Hipchat API服务的URL。如果你创建一个由他们主持的团队,它将是:https://team.hipchat.com。对于自我托管的集成,请使用类似于https://hipchat.yourcompany.com/并添加到适当的目标通道中的基本URL,而不#引导他们(“engineering”rahter than“#engineering”)。
  • 通知颜色:这将突出显示给定颜色的消息。如果设置为HipChat不期望的内容,则通知将在给定的颜色中生成错误。
  • 通知频道:选择此项将导致漫游器“通知”频道成员。通常它只会在聊天频道中作为消息卡住,而不会触发任何人的通知。此选项将通知用户他们现有的通知设置(浏览器通知,电子邮件回退等)。

《Ansible Tower 用户指南 v3.2.1》

Webhook

“安全可靠Tower”中的挂钩通知类型提供了将POST发送到预定义Web服务的简单界面。Tower将使用application / json内容类型POST到这个地址,数据有效载荷包含json格式的所有相关详细信息。

参数非常简单:

  • 目标网址:要发布的完整网址
  • HTTP标头:JSON格式的标题,其中键和值是字符串。例如:
  • { “验证” : “988881adc9fc3655077dc2d4d757d480b5ea0e11” , “MessageType” : “测试” }

《Ansible Tower 用户指南 v3.2.1》

IRC

TowerIRC通知采用IRC bot的形式,它将连接,将消息传递给频道或个人用户,然后断开连接。Tower通知机器人还支持SSL认证。Tower机器人目前不支持Nickserv识别。如果频道或用户不存在或不在线,则通知不会失败; 故障场景专门用于连接。

连接信息很简单:

  • IRC服务器密码:IRC服务器可能需要密码进行连接。如果服务器不需要,请留空
  • IRC服务器端口:IRC服务器端口
  • IRC服务器地址:IRC服务器的主机名或地址
  • IRC Nick:机器人的昵称,一旦连接到服务器
  • 目的地频道或用户:发送通知的用户和/或频道列表。
  • SSL连接:连接时机器人应该使用SSL

《Ansible Tower 用户指南 v3.2.1》

配置towerhost主机名(Configuring the towerhost hostname)

在其中/etc/tower/settings.py,您可以修改TOWER_URL_BASE=’https://tower.example.com’以更改通知主机名,替换https://tower.example.com 为首选主机名。保存更改后,必须重新启动Tower服务。ansible-tower-service restart

刷新您的Tower牌照也会更改通知主机名。新安装的Ansible Tower 3.0不应该设置通知的主机名。

重置TOWER_URL_BASE(Resetting the TOWER_URL_BASE)

Tower确定基本URL(TOWER_URL_BASE)是如何定义的主要方式是通过查看传入请求并根据该传入请求设置服务器地址。

Tower首先从数据库中获取设置值。如果没有找到设置值,Tower将返回使用设置文件中的值。如果用户通过导航到Tower主机的IP adddress发布许可证,则发布的许可证将写入数据库中的设置条目。

要更改TOWER_URL_BASE错误地址是否已被选中,请 《Ansible Tower 用户指南 v3.2.1》 使用您希望在通知中显示的DNS条目从Tower设置()菜单的“查看您的许可”链接导航到许可证,然后重新添加许可证。

工作流程(Workflows)

工作流程允许您配置可能共享或不共享库存,播放簿或权限的不同作业模板序列。但是,工作流程具有“管理”和“执行”权限,与作业模板类似。工作流程完成了将作为发布过程的一部分的全部作业作为一个单元进行跟踪的任务。

注意

工作流仅适用于具有企业级许可证的用户。

作业模板使用称为节点的类似图形的结构链接在一起。作业模板节点与作业模板相关联。作业模板可以是不同工作流程的一部分,也可以在同一工作流程中多次使用。启动工作流程时,图形结构的副本将保存到工作流作业。

随着工作流的运行,从节点的链接模板产生作业。链接到具有提示驱动字段(job_type,job_tags,skip_tags,limit)的作业模板的节点可以包含这些字段,并且在启动时不会提示。具有提示凭据和/或广告资源的作业模板(不带缺省值)将不能包含在工作流中。

一个节点只能有一个父节点,并且只能有一个被连接到成功状态,失败或永远的子节点。如果总是这样,那么国家既不成功,也不是失败。状态在节点级应用,而不适用于工作流作业模板级别。工作流作业将被标记为成功,除非它被取消或遇到错误。

如果尝试启动具有以下缺少部分的工作流作业模板,则用户界面将通知您作为警告,但仍将继续:

  • 从节点删除作业模板
  • 提供了一个提示字段,但作业模板未设置为在该字段启动时提示

如果从API启动,运行get命令会显示警告列表,并突出显示缺少的组件。工作流作业模板的基本工作流程如下所示。

《Ansible Tower 用户指南 v3.2.1》

可以同时启动多个工作流程,并为何时启动它们设置计划。您可以设置工作流上的通知,例如作业完成时,与作业模板类似。

额外的变量(Extra Variables)

也类似于作业模板,工作流程使用调查来指定要在工作流程中的剧本中使用的变量,称为extra_vars。调查变量与在工作流作业模板上定义的extra_vars组合,并保存到工作流作业extra_vars。在工作流中产生作业时,工作流作业中的extra_vars与作业模板变量相结合。

工作流程使用与作业模板相同的变量优先级(层次结构),但三个附加变量除外。请参阅本指南“作业模板”一章的“ 额外变量”部分中的“可选Tower变量优先级” 。另外三个变量包括:

《Ansible Tower 用户指南 v3.2.1》

除了工作流extra_vars之外,作为工作流的一部分运行的作业可以继承工作流中父作业的工件字典中的变量(还与其分支中的上游进一步的祖先组合)。这些可以由set_stats可选模块2.2.2或更高版本定义。

如果您set_stats在手册中使用该模块,则可以生成可由另一个作业下游消耗的结果,例如,通知用户集成运行的成功或失败。在这个例子中,有两个可以在工作流中组合的剧本来运用神器传递:

  • invoke_set_stats.yml:工作流中的第一个playbook:
  • hosts: localhost
  • tasks:
  • name: “Artifact integration test results to the web”
  • local_action: ‘shell curl -F “file=@integration_results.txt” https://file.io’
  • register: result
  • name: “Artifact URL of test results to Tower Workflows”
  • set_stats:
  • data:
  • integration_results_url: “{{ (result.stdout|from_json).link }}”
  • use_set_stats.yml:工作流中的第二个playbook
  • hosts: localhost
  • tasks:
  • name: “Get test results from the web”
  • uri:
  • url: “{{ integration_results_url }}”
  • return_content: true
  • register: results
  • name: “Output test results”
  • debug:
  • msg: “{{ results.content }}”

该set_stats模块处理此工作流程如下:

  1. 集成结果的内容(例如:下面的integration_results.txt)首次上传到网络。

the tests are passing!

  1. 通过invoke_set_stats剧本,set_stats然后调用神器integration_results.txt上传到Ansible变量“integration_results_url”的URL。
  2. 工作流程中的第二个工作簿消耗了可选的额外变量“integration_results_url”。它使用uri模块调用Web 来获取上一个作业模板作业上传的文件的内容。然后,它只是打印出所得文件的内容。

《Ansible Tower 用户指南 v3.2.1》

工作流状态(Workflow States)

工作流作业可以具有以下状态(无失败状态):

  • 等候
  • 运行
  • 成功(完成)
  • 取消
  • 错误

在工作流方案中,取消作业将取消分支,而取消工作流作业将取消整个工作流程。删除作业模板不会删除作业节点,但会通过在用户界面中显示工作流中的断开的链接来指示无效,该链接会提示修正而不会对工作流的结构产生不利影响。

基于角色的访问控制(Role-Based Access Controls)

要编辑和删除工作流作业模板,您必须具有管理员角色。要创建工作流作业模板,您必须是组织管理员或系统管理员。但是,您可以运行包含您没有权限的作业模板的工作流作业模板。与项目类似,组织管理员可以创建一个空白工作流程,然后将一个admin_role授予一个低级别的用户,之后他们可以进行更多访问委托和构建图形。您必须具有对作业模板的执行访问权限才能将其添加到工作流作业模板。

还可以执行其他任务,例如复制副本和重新启动工作流的能力,这取决于授予特定用户的权限类型。通常,在重新启动或复制之前,您应该拥有工作流中使用的所有资源(如作业模板)的权限。

有关执行本节所述任务的更多信息,请参阅“ 可解决Tower管理指南”

第一篇文章。编辑或删除它,然后开始写作吧!

点赞

发表评论