Ansible_AWX安装

2019-06-27  本文已影响0人  张都尉

简介: ansble ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
具体内容访问网站了解,https://www.ansible.com
为了更直观友好配置查看服务器状态 ,我们使用ansible开源的面板
https://www.ansible.com/products/tower
主机:master k8s3 192.168.3.43
node k8s2 192.168.3.42
修改master hosts

准备工作

1.安装前准备
系统centos7.6*64
关闭防火墙

**firewalld**
systemctl enable firewalld 
systemctl start firewalld 
firewall-cmd --add-service=http --permanent;firewall-cmd --add-service=https --permanent systemctl restart firewalld 
**iptable** 
iptables -F #清空防火墙规则 
iptables -X iptables -Z iptables-save #保存防火墙规则 
systemctl stop firewalld && systemctl disable firewalld #关闭并开机不自启动firewalld
我们更新好国内的源,比如阿里\163\华为等。此操作不再展示,可自行百度。我们这里准备更新为阿里源

2.下载epel-release源及postgreSQL

yum install -y epel-release  # yum安装额外软件包
yum install -y postgresql96-server  #yum安装
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm   #若无postgresql96安装源请安装官方源

3.安装及其他组件

yum install -y rabbitmq-server wget memcached nginx ansible

4.安装awx

wget -O /etc/yum.repos.d/awx-rpm.repo https://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo 
yum install -y awx

5.初始化数据库

/usr/pgsql-9.6/bin/postgresql96-setup initdb

6.启动各项服务应用

systemctl start rabbitmq-server && systemctl enable rabbitmq-server  #启动rabbitmq服务
systemctl enable postgresql-9.6 && systemctl start postgresql-9.6       #启动postgresql服务
systemctl enable memcached && systemctl start memcached               #启动memcache服务

7.成功启动以上服务器后 ,创建postgresql用户

sudo -u postgres createuser -S awx

8.创建和导入数据库

sudo -u postgres createdb -O awx awx               #创建数据库
sudo -u awx /opt/awx/bin/awx-manage migrate  #数据导入数据库 时间有点久 待导入完成后,再进行接下来操作

9.awx 初始化配置步骤

echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin','root@localhost', 'password')" | sudo -u awx /opt/awx/bin/awx-manage shell
sudo -u awx /opt/awx/bin/awx-manage create_preload_data
sudo -u awx /opt/awx/bin/awx-manage provision_instance --hostname=$(hostname)
sudo -u awx /opt/awx/bin/awx-manage register_queue --queuename=tower --hostnames=$(hostname)

10.nginx配置
进入目录

cd /etc/nginx/
mv nginx.conf nginx.conf.bak #备份nginx备份文件 
wget -O /etc/nginx/nginx.conf https://raw.githubusercontent.com/sunilsankar/awx-build/master/nginx.conf #下载awx的nginx模板文件 
systemctl start nginx && systemctl enable nginx #启动与开机自启nginx服务

11.开启awx对应服务

systemctl start awx-cbreceiver
systemctl start awx-celery-beat
systemctl start awx-celery-worker
systemctl start awx-channels-worker
systemctl start awx-daphne
systemctl start awx-web
systemctl enable awx-cbreceiver
systemctl enable awx-celery-beat
systemctl enable awx-celery-worker
systemctl enable awx-channels-worker
systemctl enable awx-daphne
systemctl enable awx-web

至此 大功告成,接下来

配置ssh密钥相关

1.创建免密登录用户

useradd ansible    #本地和远程都执行添加
su - ansible #切换到ansible用户 本地
ssh-keygen #生成秘钥 三次回车不输入密码
#########本机#############
visudo #配置ansible超级管理员权限
ansible ALL=(ALL) NOPASSWD: ALL #免密执行所有操作 root权限操作
cat /home/ansible/.ssh/id_rsa.pub> /home/ansible/.ssh/authorized_keys
chmod 600 authorized_keys
##########远程############
su ansible
mkdir .ssh
chmod 700 .ssh
将本机authorized_keys复制到远程 或拷贝到远程主机
chmod 600 .ssh/authorized_keys

验证免费登陆成功与否,本机难登陆本机及远程均无密码成功登陆


2.打开浏览器 输入本机IP地址:192.168.3.43 进入AWX 且初始化用户及密码为:admin/password

登陆如图所示

3.创建项目,

ps:报错原因 /var/lib/awx/projects目录中没有可用palybook目录 放入对应目录所属awx用户及脚本即可

具体我们可以到github上搜索对应的应用模板 可参考:https://github.com/Tobewont/ansible-playbook.git

配置


目录

添加主机


配置运行模板并保存


参考文献:https://www.howtoforge.com/tutorial/centos-ansible-awx-installation/
问题总结。
1.ansible tower(aws)安装,python版本应在3以上。
2.ansible文档指示,下载make和python后,在python文件夹中直接进行 make && make install报错Segmentation fault。
应该是make版本冲突,使用/usr/bin/make 进行编译就可以。
3.Failed to get D-Bus connection: Operation not permitted
重启以后解决。
4.yml脚本中自定义hosts报错,用all就可以。
原因为服务器中去执行yml脚本默认从/etc/ansible/hosts中读取hosts,而awx界面的脚本默认从界面设置的inventory->hosts中读取。

上一篇下一篇

猜你喜欢

热点阅读