安装ansible tower

ansible tower是ansible的一个图形化界面,IT自动化的管理平台,本文整理了安装过程中的步骤以及碰到的坑。

前提条件

操作系统版本:

  • Red Hat Enterprise Linux 7.4 or later 64-bit
  • CentOS 7.4 or later 64-bit
  • Ubuntu 16.04 LTS 64-bit

数据库版本:

  • PostgreSQL version 9.6.X以上
  • Ansible version 2.2 (最低版本) 来运行 Ansible Tower versions 3.2以上

Tower安装

下载

1
2
3
4
wget https://releases.ansible.com/ansible-tower/setup-bundle/ansible-tower-setup-bundle-latest.el7.tar.gz -P /root/tower/
cd /root/tower/
tar xvf ansible-tower-setup-bundle-latest.el7.tar.gz -C ./
cd ansible-tower-setup-bundle-3.4.3-1.el7/

目录结构,跟playbook类似

1
2
3
4
5
6
7
8
9
10
11
[root@zabbix-stb ansible-tower-setup-bundle-3.4.3-1.el7]# ll
总用量 52
-rw-r--r-- 1 root root 143 3月 27 07:55 backup.yml
drwxr-xr-x 2 root root 17 3月 27 07:55 group_vars
-rw-r--r-- 1 root root 8314 3月 27 07:55 install.yml
-rw-r--r-- 1 root root 494 5月 20 16:37 inventory
drwxr-xr-x 3 root root 8192 3月 27 07:55 licenses
-rw-r--r-- 1 root root 2526 3月 27 07:55 README.md
-rw-r--r-- 1 root root 1393 3月 27 07:55 restore.yml
drwxr-xr-x 20 root root 320 3月 27 07:55 roles
-rwxr-xr-x 1 root root 11068 3月 27 07:55 setup.sh

编辑inventory配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[tower]
localhost ansible_connection=local

[database]

[all:vars]
admin_password='admin'

pg_host='127.0.0.1'
pg_port='5432'

pg_database='awx'
pg_username='awx'
pg_password='awx'



rabbitmq_port=5672
rabbitmq_vhost=tower

rabbitmq_username=tower
rabbitmq_password='tower'
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


# Needs to be true for fqdns and ip addresses
rabbitmq_use_long_name=false

运行脚本

1
./setup.sh

限制

1
echo codyguo > /var/lib/awx/i18n.db

访问地址就是ip

简介

导航栏说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# viewes
Dashboard 仪表盘展示信息的
Jobs 跑过的任务记录
Schedules 计划任务
My View 查看用户的工作模版,和任务记录

# resources
Templates 任务模版,配置调用playbook执行时的各种参数,从此处添加计划任务
Credentials 配置连接 机器/云主机api Key/自定义的凭证类型 的账号密码等信息
Projects 这里配置项目对应的playbook,可以从Git上拉取或从本地文件夹读取playbook
Inventories 资产清单
Inventory Scripts 自定义获取资产清单的脚本

# access
Organizations 组织管理
Users 用户管理
Teams 用户组管理

# Administration
Credential Types 自定义凭证类型,添加后可在Credentials中使用
Notifications 配置任务通知,支持电子邮件,Twillio电话等
Management Jobs 计划任务管理
Instance Groups 资产组管理
Applications 自定义应用
Settings 设置

导入现有的主机

1
2
3
4
5
6
[root@ ansible-tower-setup-bundle-3.4.3-1.el7]# tower-manage inventory_import --source=/root/hosts --inventory-id=2
2.704 INFO Updating inventory 2: 所有主机
2.859 INFO Reading Ansible inventory source: /root/hosts
4.627 INFO Processing JSON output...
4.632 INFO Loaded 10 groups, 184 hosts
6.417 INFO Inventory import completed for (所有主机 - 7) in 3.7s