Ansible AWX基础配置和使用

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

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


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

查看所有标签

猜你喜欢:

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

Tomcat与Java Web开发技术详解

Tomcat与Java Web开发技术详解

孙卫琴 / 电子工业出版社 / 2004-4-1 / 45.00元

《Tomcat与Java Web开发技术详解》编辑推荐:Jakarta Tomcat服务器是在SUN公司的JSWDK(JavaServer Web DevelopmentKit,SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Java Web应用容器,它是Apache-Jakarta的一个子项目。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的J......一起来看看 《Tomcat与Java Web开发技术详解》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具