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基础配置和使用 说明成功的在指定的目标主机上执行了指定的操作。


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

查看所有标签

猜你喜欢:

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

极致产品

极致产品

周鸿祎 / 中信出版社 / 2018-6 / 58.00

周鸿祎作为*知名的产品经理之一,一手打造了众多国民级的产品。他关于打造爆款的理念,比如刚需、高频、“小白”思维等,已成为网络热词而被广泛接受。 本书是周鸿祎首次系统总结其20年产品经理的心得,不仅将以往的理念进行总结、归纳,而且在与包括各方面创业者、产品经理的碰撞后,将其观念进一步升华,成为迄今为止首部将其产品理念倾囊相授的作品。一起来看看 《极致产品》 这本书的介绍吧!

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

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码