Ansible 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 等等。
如:

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

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

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

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

2)创建Inventories

通过Inventories定义通过Ansible AWX管理的主机群组。Inventories允许你为几个服务器创建一个组,并且还能很方便的去管理不同的服务器和它们所依赖的环境变量。为了去管理操作服务器,我们必须去创建一个新的inventory group 并且给这组中添加服务器。
同样,点击ansible AWX左侧的菜单Inventories,接着点击右边的+按钮,并选择Inventory:

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

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

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

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

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

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

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

3)创建一个Projects

在于AWX中,Projects的作用相当于对一个Ansible Playbook库的管理,他可以对本地目录或者对类似GIt、Svn(Subversion)及RedHat Insights中的Ansible Playboos进行管理。
创建一个新的Projects,点击左侧的Projects菜单按钮,点击右侧的+,进行创建,如下图:

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


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

4)创建一个任务模板

任务模板其实就是为了运行Ansible Playbooks,创建一个新的模板需要选择目标主机(在inventory重定义的,选择自己新创建的inventory)、认证方式(在Credentials中选择的方式,即选择自己新创建的Credentials)、以及选择project中指定的playbook文件。
点击左边的Template按钮,点击右边的+,并且选择Job template选项:

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

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,然后点击右侧的图标来运行该任务。

运行结果如下:

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


说明成功的在指定的目标主机上执行了指定的操作。

原文地址:https://blog.51cto.com/10616534/2407182

时间: 2024-11-09 00:55:16

Ansible AWX基础配置和使用的相关文章

linux系统ansible一键完成三大服务器基础配置(剧本)

ansible自动化管理剧本方式一键完成三大服务器基础配置 环境准备:五台服务器:管理机m01:172.16.1.61,两台web服务器172.16.1.7,172.16.1.8,nfs存储服务器172.16.1.31,备份服务器rsync172.16.1.41 要求实现:nfs服务器共享目录/data给两台web服务器 三台服务器可以通过定时任务 备份到备份服务器rsync 实时监控nfs/data目录,并实时备份到备份服务器rsync 开整: 一.配置管理机m01 1.下载基本软件 cd /

ansible批量自动配置Juniper

一.需求 有几台新上线的Juniper,需要批量配置下syslog,ntp,snmp基础配置 二.拓扑 三.实施步骤 1.读取配置并输出作为初步核查 2.把配置载入网络其中一台网络设备中,并做一个show | compare输出,然后做一个commit check核查,最后退出设备 3.输出一个提醒,要求输入yes 或者no.yes代表继续tasks,进入第4步;no代表退出playbook,终止程序 4.将配置输入到设备,并设定一个10分钟倒回时间 5.commit check 确认配置,停止

ansible的playbook配置及template模板的使用

前言: 学习下ansible的playbooks的状态配置管理,说来puppet saltstack都有类似的叫法,只是ansible的叫法更犀利,我当时一看playbook还以为是花花公子的playboy.要使用ansible就要深入学习playbook配置及模板. 注:到底是playbook还是playbooks.... 先把官网的简单几个语法给说明下. #这个是你选择的主机 - hosts: webservers #这个是变量   vars:     http_port: 80     m

Varnish基础配置实现动静分离web站点

由于一个web站点的程序的访问具有局部性特征:时间上的局部性:一个数据被访问过之后,可能很快会被再次访问到:空间局部性:一个数据被访问时,其周边的数据也有可能被访问到;varnish可将这部分数据缓存下来.缓存的数据存在被访问较频繁的数据可以称其为热区:缓存同样存在局部性:时效性:如果缓存空间耗尽:则采用LRU,最近最少使用算法:将过期的缓存清理掉 varnish的基本工作原理: Varnish通过类似于HTPP反向代理的方式将可以用来缓存的数据缓存下来直接响应给客户端的缓存数据,如果缓存中没有

使用Java管理Azure(1):基础配置

Azure针对Java开发人员提供了非常丰富的依赖库,开发工具,和相关插件,让你通过Java对Azure进行服务管理和开发,本文第一步先介绍如何快速的配置Java开发工具,主要针对目前比较流行的Eclipse和Intellij IDEA工具. 本文主要是基础配置的介绍,主要分为以下三个部分: 准备Azure的测试账号 准备Eclipse的Azure开发环境 准备Intellij IDEA的Azure开发环境 ? 准备Azure测试账号 首先你需要有Azure中国的测试账号.你可以通过Azure.

DDNS基础配置

一.简介 DDNS全名Dynamic Domain Name Server,动态域名解析服务.是由DNS和DHCP服务器组合来提供服务,简单来说就是通过DHCP服务器分配的IP地址可以动态更新到DNS服务上,免除了手动指定的麻烦. 二.平台介绍 软件包都用了centos自带源安装的 centos6.4 x64 dhcp-4.1.1-31.P1.el6.x86_64 bind-9.8.2-0.10.rc1.el6.x86_64 三.服务器端配置过程 1.DNS服务器配置 我在之前的文章中已经写过如

          DNS的基础配置

一.DNS简介 1.DNS:Domain Name System(域名系统),是互联网上IP和域名相互解析的分布式层级结构的数据库.DNS的出现能够使用户更好的更加方便的访问互联网,不用记IP地址来访问互联网,可以通过人类更容易记住域名来访问互联网. 2.DNS是一种C/S架构的服务器,客户机用于一个名字对应的地址,而服务器是为客户机提供查询的,查询由两种机制:迭代查询和递归查询 迭代查询:一般是DNS服务器与DNS服务器之间的查询方式 递归查询:一般是客户机与服务器之间的查询方式 3.DNS是

zabbix 基础配置(四)

zabbix 基础配置(四) ============================================================================ 展示接口: ★graph:simple,custom: ★screen: ★slide show: 演示:   把之前定义的同类型的监控项,放在一屏上  1)设定图像的名称,要显示的监控项,颜色等根据自己的需要设定  2)在监测中,选择图形,查看自己定义的graphs,如下:  2.把所有的图像展现为一屏   1)

zabbix基础配置(二)

zabbix基础配置(二) ============================================================================= 概述: ============================================================================= zabbix agent安装配置:  安装配置过程 1.安装 # yum install zabbix-agent-3.0.2-1.el7.x86_64