zhanghong 发表于 2018-7-29 14:33:40

centos6.5安装自动化工具ansible和图形化工具tower-xiaoxiaozhou

  一、安装ansible并测试
  1、查看系统版本:
  # 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>
  Description:    CentOS>  Release:      6.5
  Codename:       Final
  2、安装ansible配置yum配置
  163源
  # vi CentOS-Base.repo
  
  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
  
  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
  gpgcheck=1
  gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  #additional packages that may be useful
  
  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
  gpgcheck=1
  gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  epel源
  # cat epel.repo
  
  name=CentOS-$releasever - epel
  baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/
  #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
  gpgcheck=0
  3、安装ansible
  # yum install ansible
  4、ansible安装后测试
  测试机器作为被控制端为suse11的虚拟机
  查看配置文件
  # cd /etc/ansible/
  # ls
  ansible.cfghostsroles
  配置ansible hosts文件
  # vi hosts
  
  192.168.1.210ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=suse
  说明:
  上面分别是被控制端IP地址、登陆用户名、ssh协议端口以及登陆密码
  PING测试:
  # 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
  hosts文件再添加一台机器
  # vi hosts
  
  192.168.1.210ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=suse
  192.168.1.211ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=suse
  修改配置文件,打开host_key_checking这一行的注释
  # vi ansible.cfg
  #host_key_checking = False
  host_key_checking = False
  测试如下所示
  # ansible 192.168.1.211 -m ping
  192.168.1.211 | SUCCESS => {
  "changed": false,
  "ping": "pong"
  第一次登陆不需要手动输入
  二、安装tower
  1、资源下载
  https://www.ansible.com/license
  此链接下载免费控制10个机器的授权,需要填写邮箱等信息,授权文件会发到你的邮箱,安装tower后登陆到web界面添加授权文件就可以开始你的tower之旅了
  https://www.ansible.com/tower-trial
  此链接是下载免费测试的tower安装引导文件,叫做安装引导文件是我自己想出的名字,因为安装tower是由一大堆的ansible-playbook文件组合到一块去取网络资源安装的
  2、解压缩tower引导文件
  # cd /home/ansible/
  # ls
  ansible-tower-setup-latest.tar.gz
  # tar zxf ansible-tower-setup-latest.tar.gz
  # cd ansible-tower-setup-3.0.3/
  # ls
  ansible.cfggroup_vars   inventoryREADME.md    roles
  backup.yml   install.ymllicenses   restore.ymlsetup.sh
  3、配置安装tower的yum源
  以centos系统默认的yum源替代163的yum源
  # vi CentOS-Base.repo
  
  name=CentOS-$releasever - Base
  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
  #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  #released 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/
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  #additional packages that may be useful
  
  name=CentOS-$releasever - Extras
  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
  #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  epel源不变
  4、部署tower
  解压缩软件包
  tar -zxf ansible-tower-setup-latest.tar.gz
  设置主机信息
  # cd 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 10044096 Oct 31 21:58 group_vars
  -rw-rw-r--.1 1004 10044781 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 10042510 Oct 31 21:58 README.md
  -rw-rw-r--.1 1004 1004   233 Oct 31 21:58 restore.yml
  drwxrwxr-x. 18 1004 10044096 Oct 31 21:58 roles
  -rwxrwxr-x.1 1004 10049461 Oct 31 21:58 setup.sh
  # sed -i "s#password=''#password='admin'#g" inventory
  # sed -i "s#host=''#host='127.0.0.1'#g" inventory
  # sed -i "s#port=''#port='5432'#g" inventory
  配置软件源
  # sed -i 's#dl.fedoraproject.org/pub#mirrors.ustc.edu.cn#g' roles/packages_el/defaults/main.yml
  # sed -i 's/#baseurl=/baseurl=/g' roles/packages_el/files/epel-6.repo
  # sed -i 's/mirrorlist=/#mirrorlist=/g' roles/packages_el/files/epel-6.repo
  # sed -i 's#download.fedoraproject.org/pub#mirrors.ustc.edu.cn#g' roles/packages_el/files/epel-6.repo
  # yum -y install centos-release-scl-rh centos-release-scl
  # sed -i 's#mirror.centos.org#centos.ustc.edu.cn#g' /etc/yum.repos.d/CentOS-SCLo-scl.repo
  # sed -i 's#mirror.centos.org#centos.ustc.edu.cn#g' /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
  # yum -y install supervisor
  安装tower
  为了防止出现内存过小的报错,修改preflight的tasks文件
  # vi roles/preflight/tasks/main.yml
  修改下面一行
  minimum_var_space: 10000000000
  把参数修改到尽量小
  minimum_var_space: 100000000
  default目录下也是同理
  # vi roles/preflight/defaults/main.yml
  修改下面一行
  minimum_var_space: 10000000000
  把参数修改到尽量小
  minimum_var_space: 100000000
  安装tower
  #./setup.sh
  如果出现preflight安装的错误,删除roles/preflight/tasks/main.yml文件再尝试
  当然也可能因为网络的原因出现timeout的错误,不过没关系再次尝试
  如果网络没有问题的话还回出现类似于下面所示的报错:
  TASK ***
  提示数据库连接不上,解决办法:
  启动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
  # sed -i 's#peer#md5#g' /var/lib/pgsql/data/pg_hba.conf
  # sed -i 's#ident#md5#g' /var/lib/pgsql/data/pg_hba.conf
  # service postgresql-9.4 restart
  Stopping postgresql service:                              
  Starting postgresql service:                              
  测试awx用户连接,输入密码连接,并创建数据库
  # psql -U awx -d postgres -h 127.0.0.1
  Password for user awx:
  psql (8.4.20)
  Type "help" for help.
  postgres=> create database awx;
  CREATE DATABASE
  postgres=> \q
  再次执行安装过程
  # ./setup.sh
  最后出现安装成功的提示说明tower安装完成
  三、导入licenses
  安装完成后就可以通过https://IP/#来访问你的tower界面了,这里的IP是安装tower的服务器IP
  访问如下图所示:

  接下来导入我们申请的license


  提交后就可以进入tower的管理页面了

  参考文档:
  http://www.jianshu.com/p/1c6aa6ceeca6
页: [1]
查看完整版本: centos6.5安装自动化工具ansible和图形化工具tower-xiaoxiaozhou