一、安装ansible并测试
1、查看系统版本:
[root@ansible-server etc]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.5 (Final)
Release: 6.5
Codename: Final
2、安装ansible配置yum配置
163源
[root@ansible-server yum.repos.d]# vi CentOS-Base.repo
[163base]
name=CentOS-$releasever - Base - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#released updates
[163updates]
name=CentOS-$releasever - Updates - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#additional packages that may be useful
[163extras]
name=CentOS-$releasever - Extras - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
epel源
[root@ansible-server yum.repos.d]# cat epel.repo
[epel]
name=CentOS-$releasever - epel
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/
gpgcheck=0
3、安装ansible
[root@ansible-server ~]# yum install ansible
4、ansible安装后测试
测试机器作为被控制端为suse11的虚拟机
查看配置文件
[root@ansible-server ~]# cd /etc/ansible/
[root@ansible-server ansible]# ls
ansible.cfg hosts roles
配置ansible hosts文件
[root@ansible-server ansible]# vi hosts
[slave]
192.168.1.210 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=suse
说明:
上面分别是被控制端IP地址、登陆用户名、ssh协议端口以及登陆密码
PING测试:
[root@ansible-server ansible]# ansible slave -m ping
paramiko: The authenticity of host '192.168.1.210' can't be established.
The ssh-rsa key fingerprint is 3eddc40386a9465452b12910a61a3c65.
Are you sure you want to continue connecting (yes/no)?
yes
192.168.1.210 | SUCCESS => {
"changed": false,
"ping": "pong"
第一次登陆还需要手动输入“yes”添加信任,如果避免这一步的话也可以,需要配置ansible的配置文件ansible.cfg
192.168.1.210 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=suse
192.168.1.211 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=suse
修改配置文件,打开host_key_checking这一行的注释
[root@ansible-server ansible]# vi ansible.cfg
#host_key_checking = False
host_key_checking = False
测试如下所示
[root@ansible-server ansible]# ansible 192.168.1.211 -m ping
192.168.1.211 | SUCCESS => {
第一次登陆不需要手动输入
二、安装tower
1、资源下载
https://www.ansible.com/license
此链接下载免费控制10个机器的授权,需要填写邮箱等信息,授权文件会发到你的邮箱,安装tower后登陆到web界面添加授权文件就可以开始你的tower之旅了
https://www.ansible.com/tower-trial
此链接是下载免费测试的tower安装引导文件,叫做安装引导文件是我自己想出的名字,因为安装tower是由一大堆的ansible-playbook文件组合到一块去取网络资源安装的
2、解压缩tower引导文件[root@ansible-server ~]# cd /home/ansible/
ansible-tower-setup-latest.tar.gz
[root@ansible-server ansible]# tar zxf ansible-tower-setup-latest.tar.gz
[root@ansible-server ansible]# cd ansible-tower-setup-3.0.3/
[root@ansible-server ansible-tower-setup-3.0.3]# ls
ansible.cfg group_vars inventory README.md roles
backup.yml install.yml licenses restore.yml setup.sh
3、配置安装tower的yum源以centos系统默认的yum源替代163的yum源
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
epel源不变
4、部署tower
解压缩软件包
tar -zxfansible-tower-setup-latest.tar.gz
设置主机信息
[root@ansible-server ansible-tower-setup-3.0.3]# ll
total 64
-rw-rw-r--. 1 1004 1004 203 Oct 31 21:58 ansible.cfg
-rw-rw-r--. 1 1004 1004 128 Oct 31 21:58 backup.yml
drwxrwxr-x. 2 1004 1004 4096 Oct 31 21:58 group_vars
-rw-rw-r--. 1 1004 1004 4781 Oct 31 21:58 install.yml
-rw-rw-r--. 1 1004 1004 194 Oct 31 21:58 inventory
-rw-r--r--. 1 root root 194 Dec 26 21:24 inventory.bak
drwxrwxr-x. 2 1004 1004 12288 Oct 31 21:58 licenses
-rw-rw-r--. 1 1004 1004 2510 Oct 31 21:58 README.md
-rw-rw-r--. 1 1004 1004 233 Oct 31 21:58 restore.yml
drwxrwxr-x. 18 1004 1004 4096 Oct 31 21:58 roles
-rwxrwxr-x. 1 1004 1004 9461 Oct 31 21:58 setup.sh
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i "s#password=''#password='admin'#g" inventory
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i "s#host=''#host='127.0.0.1'#g" inventory
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i "s#port=''#port='5432'#g" inventory
配置软件源
[root@ansible-serveransible-tower-setup-3.0.3]# sed -i 's#dl.fedoraproject.org/pub#mirrors.ustc.edu.cn#g' roles/packages_el/defaults/main.yml
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i 's/#baseurl=/baseurl=/g' roles/packages_el/files/epel-6.repo
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i 's/mirrorlist=/#mirrorlist=/g' roles/packages_el/files/epel-6.repo
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i 's#download.fedoraproject.org/pub#mirrors.ustc.edu.cn#g' roles/packages_el/files/epel-6.repo
[root@ansible-server ansible-tower-setup-3.0.3]# yum -y install centos-release-scl-rh centos-release-scl
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i 's#mirror.centos.org#centos.ustc.edu.cn#g' /etc/yum.repos.d/CentOS-SCLo-scl.repo
[root@ansible-server ansible-tower-setup-3.0.3]# sed -i 's#mirror.centos.org#centos.ustc.edu.cn#g' /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
[root@ansible-server ansible-tower-setup-3.0.3]# yum -y install supervisor
安装tower
为了防止出现内存过小的报错,修改preflight的tasks文件
[root@ansible-server ansible-tower-setup-3.0.3]# vi roles/preflight/tasks/main.yml
修改下面一行
minimum_var_space: 10000000000
把参数修改到尽量小
minimum_var_space: 100000000
default目录下也是同理
[root@ansible-server ansible-tower-setup-3.0.3]# vi roles/preflight/defaults/main.yml
修改下面一行
minimum_var_space: 10000000000
把参数修改到尽量小
[root@ansible-server ansible-tower-setup-3.0.3]#./setup.sh
如果出现preflight安装的错误,删除roles/preflight/tasks/main.yml文件再尝试
当然也可能因为网络的原因出现timeout的错误,不过没关系再次尝试
如果网络没有问题的话还回出现类似于下面所示的报错:
TASK [awx_install : Migrate the Tower database schema (may take awhile when upgrading).] ***
启动postgresql
#service postgresql-9.4 initdb
#service postgresql-9.4 start
#chkconfig postgresql-9.4 on
创建用户
# su - postgres
-bash-4.1$ psql
psql (8.4.20)
Type "help" for help.
postgres=# \password postgres;
Enter new password:
Enter it again:
postgres=# CREATE ROLE awx CREATEDB PASSWORD 'admin' LOGIN;
CREATE ROLE
postgres-# \q
[root@ansible-server ~]# sed -i 's#peer#md5#g' /var/lib/pgsql/data/pg_hba.conf
[root@ansible-server ~]# sed -i 's#ident#md5#g' /var/lib/pgsql/data/pg_hba.conf
[root@ansible-server ~]# service postgresql-9.4restart
Stopping postgresql service: [ OK ]
Starting postgresql service: [ OK ]
[root@ansible-server pgsql]# psql -U awx -d postgres -h 127.0.0.1
Password for user awx:
Type "help" for help.
postgres=> create database awx;
CREATE DATABASE
postgres=> \q
再次执行安装过程
[root@ansible-server ansible-tower-setup-3.0.3]# ./setup.sh
最后出现安装成功的提示说明tower安装完成
三、导入licenses
安装完成后就可以通过https://IP/#来访问你的tower界面了,这里的IP是安装tower的服务器IP
访问如下图所示:
接下来导入我们申请的license
提交后就可以进入tower的管理页面了
参考文档:
原文链接:/centos/379214.html