美文网首页
Ansible_AWX安装

Ansible_AWX安装

作者: 张都尉 | 来源:发表于2019-06-27 08:51 被阅读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中读取。

    相关文章

      网友评论

        本文标题:Ansible_AWX安装

        本文链接:https://www.haomeiwen.com/subject/gjdqcctx.html