• Centos 7安装ansible自动化运维工具


    1、介绍:

        ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、SaltStack、chef、func)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
        本期为大家展示安装ansible和一些基本的配置和命令使用,后期会讲述具体一些模块和其他内容。

    2、部署环境

    操作系统版本 IP地址 主机名
    Centos7.6 192.168.0.200 manage
    Centos7.6 192.168.0.201 node01
    Centos7.6 192.168.0.202 node02

    关闭selinux和防火墙

    # 关闭selinux
    修改/etc/sysconfig/selinux文件中的SELINUX=disable
    sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    
    #关闭防火墙
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    

    3、安装ansible

    • yum安装
    # 安装依赖epel-release
    yum -y install epel-release
    #安装ansible
    yum -y install ansible
    
    • 二进制编译安装
    # 可以自己选择版本
    wget https://releases.ansible.com/ansible/ansible-2.9.3.tar.gz
    # 解压安装
    tar xvf ansible-2.9.3.tar.gz
    mv ansible-2.9.3.tar.gz /opt/ansible
    cd /opt/ansible
    # 安装依赖,pip3为python的安装,先确认是否安装python3
    pip3 install -r requirements.txt -i https://pypi.yuna.tsinghua.edu.cn/simple/
    # 创建软连接
    ln -s /usr/bin/pip3 /usr/bin/pip
    # 安装ansible
    pip install --user ansible -i https://pypi.yuna.tsinghua.edu.cn/simple/
    # 创建python软连接
    ln -s /usr/bin/python3 /usr/bin/python
    # 创建ansible软连接
    ln -s /opt/ansible/bin/* /usr/bin
    # 将配置文件复制到ansible 工作路径下
    cp /opt/ansible/examples/ansible.cfg /etc/ansible
    cp /opt/ansible/examples/hosts /etc/ansible
    

    4、ansible配置文件

    • ansible的主配置文件为/etc/ansible/ansible.cfg
    inventory :管理的主机清单文件路径
    library:ansible的模块存放的目录
    remote_tmp:上述工作原理中提到的将脚本发送至对端的临时目录
    local_tmp:上述工作原理中提到本地生成脚本存放的临时目录
    forks:并发连接数,默认为5
    sudo_user :命令执行用户
    remote_port :访问管理主机的端口        
    host_key_checking:设置是否检查SSH主机的密钥,默认为false
    timeout :ssh连接被管理主机的超时时间
    log_path:ansilbe日志文件路径
    
    • ansible的主机配置文件为/etc/ansible/hosts
    # 这个清单就是我们的主机清单,里面保存的是一些 ansible 需要连接管理的主机列表
    1、直接指明主机地址或者主机名
    ## green.example.com
    ## blue.example.com
    192.168.0.200
    192.168.0.201
    node02
    # 主机地址范围
    192.168.0.[200:202]
    
    2、定义一个主机组[组名]把地址或主机名加进去
    例如mysql组
    [mysqlserver]
    192.168.0.201
    
    web组
    [webserver]
    192.168.0.201
    192.168.0.202
    # 根据自己需求修改配置
    

    5、ansbile常用命令

    # 查看ansible版本
    ansible --version
    
    # 常用于获取模块信息及其使用帮助
    ansible-doc -l | grep mysql
    # 例如查找出mysql相关的模块信息
    
    # ansible命令格式如下
    ansible  [-f forks] [-m module_name] [-a args]
    

    6、配置服务器间的ssh免密登录

    # 在主控机上生成密钥
    ssh-keygen # 接下来一路回车即可
    # 将密钥传给客户端
    ssh-copy-id root@192.168.0.201
    ssh-copy-id root@192.168.0.202
    # 期间会输一次客户端的登录密码即可
    

    /
    /
    /

    7、使用ansible的ping模块进行验证

    # 测试两台客户机网络是否连通
    ansible 192.168.0.201 -m ping
    
    # 使用分组的host主机来验证
    ansible webserver -m ping
    
  • 相关阅读:
    Windows系统配置CUDA编程环境
    解析带有表头的数据文件
    windows10上使用Visual Studio对树莓派进行交叉编译示例
    算法笔记之蓝桥杯&pat系统备考(2)
    2022双十一当贝投影战报:劈风斩浪,六项第一
    es 未分词字段搜索过程
    【网页前端】CSS的基本样式边框、布局、字体
    有哪些视频媒体?邀请视频媒体报道活动的好处
    1906. 查询差绝对值的最小值-动态规划算法
    0020__如何获取windows系统的串口列表
  • 原文地址:https://www.cnblogs.com/Merbleue/p/17241418.html