一、准备一台Linux主机

内存要求:4GB以上

分区要求:/var必须大于等于20GB

其他略过

二、安装Ansible

1、安装前准备

(1)首先升级系统

yum update -y

重启服务器

shutdown –r now

(2)安装基础组件

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget lrzsz zip unzip net-tools libselinux-python

2、安装

下载完整安装包,安装包中包含所有依赖的组件ansible、postgresql等。

下载链接: https://releases.ansible.com/ansible-tower/setup-bundle/

任意目录直接wget 最新的安装包

wget https://releases.ansible.com/ansible-tower/setup-bundle/ansible-tower-setup-bundle-latest.el7.tar.gz

解压

tar zxvf ansible-tower-setup-bundle-latest.el7.tar.gz

修改配置文件

cd ansible-tower-setup-bundle-latest.el7.tar.gz

vi inventory

修改为

[tower]

localhost ansible_connection=local

 

[database]

 

[all:vars]

admin_password='admin'

 

pg_host=''

pg_port=''

 

pg_database='awx'

pg_username='awx'

pg_password='admin'

 

rabbitmq_username=tower

rabbitmq_password='admin'

rabbitmq_cookie=cookiemonster

 

# Isolated Tower nodes automatically generate an RSA key for authentication;

# To disable this behavior, set this value to false

# isolated_key_generation=true

 

注意加粗的是需要添加上去的,其他不改

 

运行./setup.sh开始安装,大概需要10分钟左右,当出现提示时The setup process completed successfully.时表示安装完成

 

错误1:

This machine does not have sufficient RAM to run Ansible Tower

解决:加内存,至少4GB

 

三、配置Ansible

1、访问192.168.1.76

用户名:admin

密码:admin

这都是inventory配置文件中的

 

 

2、导入授权

提示需要授权License

没有License key是无法进入系统的,这里点击"REQUEST LICENSE",跳转到Ansible官网申请试用License key

等待审核通过

四、运行一个测试项目

1、新建playbook

Ansible Tower的playbook默认存在 /var/lib/awx/projects/

playbook将在GitLab上创建,Ansible Tower拉取执行

2、创建HOST登录凭据

点击左侧菜单Credentials,再点击右侧加号

NAME:192.168.1.165-root

CREDENTIAL TYPE:Machine

用户名:root

密码:****

其他留空,点击保存

创建完毕

3、在GitLab中添加operation_ansible_playbook.git项目

http://192.168.1.159/******_org/operation/operation_ansible_playbook.git

4、编写Playbook

文件名:test.yml

内容:

---

- hosts: all

gather_facts: no

 

tasks:

- name: Check the date on the server.

command: date

- name: Check the ip ip on the server.

command: ip add

注意:tasks后必须有一个"-"符号开头的命令,否则运行会出下边的错误

 

5、在Ansible Tower添加拉取Gitlab项目的凭据

点击左侧菜单Credentials,再点击右侧加号

NAME:gitlab_ansible_palybook

CREDENTIAL TYPE:Source Control

用户名:lutao

密码:****

其他留空,点击保存

 

6、创建项目

点击左侧菜单Projects,再点击右侧加号

NAME:Pull GitLab

ORGANIZATION:默认

SCM TYPE:Git

SCM URL:http://192.168.1.159/******_org/operation/operation_ansible_playbook.git

SCM BRANCH/TAG/COMMIT:master

SCM CREDENTIAL:gitlab_ansible_palybook

其他默认

保存后Ansilble Tower会自动运行一次Update,如果要手动运行,点击列表中的刷新按钮。当GitLab上yml文件被更新或者新增后需要点击一下刷新按钮,否则JOB执行得还是原来的yml

点击左侧菜单Job,再点击右侧项目名后的火箭图标

点击任意项目名可以查看详细信息

此时在Ansible Tower服务器的/var/lib/awx/projects/目录下已经有git拉下来的完整文件结构,其中test.yml是我们需要的

7、创建主机清单

点击左侧菜单Inventory,再点击右侧加号

NAME:Test Inventory

ORGANIZATION:默认

保存之后点击上边的HOST,再点击加号添加主机

HOST NAME:192.168.1.165

保存之后启用这个HOST

8、创建任务模板

点击左侧菜单Templates,再点击右侧加号

NAME:Test Job

JOB TYPE:RUN

Inventory:选择Test Inventory

PROJECT 选择 Test Project

PALYBOOK 选择 test.yml

CREDENTIAL 选择 192.168.1.165-root

其他默认

9、运行模板

点击模板名称右侧加号

运行完成后查看运行情况

点击右侧日志中change几行可以看到详细信息