美文网首页ansible
Ansible-1 ansible介绍及安装

Ansible-1 ansible介绍及安装

作者: Habit_1027 | 来源:发表于2020-01-14 18:54 被阅读0次
    1.1 介绍
        Ansible 是一个 IT 自动化工具。它能配置系统、部署软件、编排更复杂的 IT 任务,如连续部署或零停机时间滚动更新。Ansible 用 Python 编写,尽管市面上已经有很多可供选择的配置管理解决方案(例如 Salt、Puppet、Chef等),但它们各有优劣,而Ansible的特点在于它的简洁。让 Ansible 在主流的配置管理系统中与众不同的一点便是,它并不需要你在想要配置的每个节点上安装自己的组件。同时提供的另一个优点,如果需要的话,你可以在不止一个地方控制你的整个基础架构。
    
    1.2 工作原理
    image.png
    C:\Users\12559\Desktop\Ansible\Ansible\AnsiblePic1、在ANSIBLE 管理体系中,存在"管理节点" 和 "被管理节点" 两种角色。
    2、被管理节点通常被称为"资产"
    3、在管理节点上,Ansible将 AdHoc 或 PlayBook 转换为Python脚本。并通过SSH将这些Python 脚本传递到
       被管理服务器上。在被管理服务器上依次执行,并实时的将结果返回给管理节点。
    
    1.3 如何安装
    image.png

    管理节点

    确保存在OpenSSH
    确保Python 版本 >= 2.6
    确保安装ansible
    

    被管理节点

    确保存在OpenSSH
    确保Python 版本 >= 2.4 //若为2.4 版本,确保安装了python-samplesjson 扩展
    不需要安装ansible
    

    安装Ansible

    # pip install ansible   // 确保最新版本ansible 或者 pip3 install ansible
    
    # yum -y install ansible  // 不一定是最新版本ansible
    

    确保管理节点与被管理节点之间SSH 信任关系

    // 生成公私钥对
    # ssh-keygen -t rsa
    # cd ~/.ssh && ls 
    id_rsa  id_rsa.pub
    // 将公钥 id_rsa.pub copy 到 被管理服务器上 authorized_keys 文件中, 确保文件的权限为 0600
    // managedhost 为被管理服务器,copy的过程中需要用户名及密码
    # ssh-copy-id root@managedhost
    
    1.4 快速入门

    场景假设

    管理节点:
    192.168.122.130
    
    被管理节点(资产):
    192.168.122.129
    192.168.122.131
    
    且管理节点 和 被管理节点之间的节点已经打通 SSH 信任关系。
    

    场景一

    在管理节点上,确保同所有被管理节点的网络连通性。
    
    # ansible all -i 192.168.122.129,192.168.122.131 -m ping
    // 注意 -i 参数后面接的是一个列表(List)。因此当为一个被管理节点时,我们后面一定要加一个逗号(,)告知是List
    # ansible all -i 192.168.122.129, -m ping
    

    场景二

    在管理节点上,确保文件/tmp/a.conf 发布到所有被管理节点
    
    # ansible all -i 192.168.122.129,192.168.122.131 -m copy -a "src=/tmp/a.conf dest=/tmp/a.conf"
    

    参数解释

    -i  // 指定Ansible 的资产,也就是被管理服务器。
    -m  // 指定要运行的模块,比如这里的 ping 模块和 copy 模块
    -a  // 指定模块的参数, 这里模块 ping 没有指定参数。 模块 copy 指定了 src 和 dest 参数
    all // ansible 中, 将其叫做pattern , 即匹配。我通常称它为资产选择器。
        // 就是匹配资产(-i 参数指定) 中的一部分。这里的 all 是匹配所有指定的所有资产。
        // 在资产的章节中,我们将详细阐述。
    

    相关文章

      网友评论

        本文标题:Ansible-1 ansible介绍及安装

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