Ansible AWX基础配置和使用

栏目: 服务器 · 发布时间: 6年前

内容简介:AWX是一个开源的web应用,并为ansible的任务引擎提供用户接口和REST API。它是 ansible Tower的开源版本。ansible AWX允许我们使用web接口去管理Ansible的playbooks、inventoris和调度任务。部署AWX:

AWX是一个开源的web应用,并为ansible的任务引擎提供用户接口和REST API。它是 ansible Tower的开源版本。ansible AWX允许我们使用web接口去管理Ansible的playbooks、inventoris和调度任务。

基础环境配置:

部署AWX:

https://blog.51cto.com/10616534/2405212

我们将通过Ansible AWX的web界面通过运行一个Ansible playbook来完成一个简单的hello world。

如下两台服务器(AWX平台部署服务器和目标服务器):

192.168.100.100   AWX-server
  192.168.100.2   test

AWX简单使用

1)创建管理目标服务器的认证方式

首先,我们先配置Ansible AWX的认证证书,用于在启动和运行任务时对目标节点主机的认证管理。默认Ansible AWX支持多种认证凭证,包括常规服务器之间基于SSH的认证,Amazon Web Services,Google Computer Engine,OpenStack,Vault password,Source Control 等等。

如:

Ansible AWX基础配置和使用

为了创建一个新的认证凭证,在AWX web平台点击左侧菜单的Credentials,接着点解页面右侧的+按钮来添加一个Credentials, 如下图所示:

Ansible AWX基础配置和使用

填写Credentials名称以及描述,选择Credentials类型,选择比较简单的Machine,它允许通过SSH认证去管理服务器。它支持两种认证方式:基于密码和基于秘钥。

Ansible AWX基础配置和使用

我们将采用基于秘钥的认证方式,因此需要填写系统的用户名和用户的SSH私钥:如下图:

Ansible AWX基础配置和使用

最后点击右边的save保存,将会成功创建一个新的Machine类型的Ansible AWX credentials。

Ansible AWX基础配置和使用

2)创建Inventories

通过Inventories定义通过Ansible AWX管理的主机群组。Inventories允许你为几个服务器创建一个组,并且还能很方便的去管理不同的服务器和它们所依赖的环境变量。为了去管理操作服务器,我们必须去创建一个新的inventory group 并且给这组中添加服务器。

同样,点击ansible AWX左侧的菜单Inventories,接着点击右边的+按钮,并选择Inventory:

Ansible AWX基础配置和使用

如下所示:先填写名称和描述,并点击保存

Ansible AWX基础配置和使用

接着点解页面上方的主机(HOSTS)按钮,并点击右侧的+,为这个inventory添加主机,如图所示:

Ansible AWX基础配置和使用

如下图所示:填写主机名( HOST NAME),描述(DESCRIPTION),并且在VARIABLES中,填入目标主机的IP地址 "ansible_host: 192.168.100.2",并点击保存(SAVE)。

Ansible AWX基础配置和使用

接着我们在页面下方可以看到我们刚才创建的inventory中新添加的hosts,为了确保host的配置,我们可以通过ping命令来检查该host,选中添加的主机前边的复选框,并且点击RUN COMMANDS按钮。

Ansible AWX基础配置和使用

接着选择ping模块(MODILE-->Choose a module--ping),接着选择我们的第一步中创建的Credentials(认证)方式,然后点解右边的LAUNCH按钮

Ansible AWX基础配置和使用

接着我们会看到一下执行结果的页面,如图所示:

Ansible AWX基础配置和使用

至此,成功创建了一个新的inventory,并且添加了指定的目标主机(服务器)。

3)创建一个Projects

在于AWX中,Projects的作用相当于对一个Ansible Playbook库的管理,他可以对本地目录或者对类似GIt、Svn(Subversion)及RedHat Insights中的Ansible Playboos进行管理。

创建一个新的Projects,点击左侧的Projects菜单按钮,点击右侧的+,进行创建,如下图:

Ansible AWX基础配置和使用

填写创建Project的名称以及描述(可选),并选择一个SCM TYPE,我们这里选择 Manual类型(选择本地目录),指定项目的基础路径(PROJECT BASE PATH),并在项目的基础路径下选择一个存放playbook的目录(说明:即如果SCM TYPE类型选择Manual,则项目的基础路径将指向本地目录,此时需要在这个目录下根据自己的部署操作需求创建子目录,并将指定的playbook文件放在自己创建的目录中,以供在创建项目(Project是使用)),最后点击右侧的save保存,如图:

Ansible AWX基础配置和使用 Ansible AWX基础配置和使用

注意:如果在创建Project时需要选择SCM类型为Manual,则/var/lib/awx/projects是Ansible playbooks默认的项目目录,如果你部署AWX是采用的是 Docker 形式部署的,则需要开启project_data_dir选项。例如通过docker-compose安装部署的AWX,则可以修改awx/installer目录下的inventory文件,如下:

Ansible AWX基础配置和使用

4)创建一个任务模板

任务模板其实就是为了运行Ansible Playbooks,创建一个新的模板需要选择目标主机(在inventory重定义的,选择自己新创建的inventory)、认证方式(在Credentials中选择的方式,即选择自己新创建的Credentials)、以及选择project中指定的playbook文件。

点击左边的Template按钮,点击右边的+,并且选择Job template选项:

Ansible AWX基础配置和使用

填写新创建任务模板的名字和描述,并且选择之前创建过的INVENTORY、CREDENTIAL和PROJECT,然后保存,最后就可以通过模板任务去运行指定的playbooks来进行部署。

Ansible AWX基础配置和使用

hello_world.yml任务是在目标主机上输出一个helloword到指定的文件中:

---
- hosts: all
  tasks:
     - name: "helloworld"
       shell: echo "Hello World" `date` by `hostname` > /tmp/hello.log

5)运行模板任务

我们可以通过运行的job template,来指定Projects中对应的playbooks,并在Invertory指定的目标主机上进行部署。

点击右侧的Templates,然后找到指定的job Template,然后点击右侧的图标来运行该任务。

Ansible AWX基础配置和使用

运行结果如下:

Ansible AWX基础配置和使用 Ansible AWX基础配置和使用

最后,检查目标节点是否按照playbooks完成了指定的操作

Ansible AWX基础配置和使用 说明成功的在指定的目标主机上执行了指定的操作。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mathematica Cookbook

Mathematica Cookbook

Sal Mangano / O'Reilly Media / 2009 / GBP 51.99

As the leading software application for symbolic mathematics, Mathematica is standard in many environments that rely on math, such as science, engineering, financial analysis, software development, an......一起来看看 《Mathematica Cookbook》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具