Ansible2.3.3安装及配置hosts,ansible2.3.3hosts


最近项目中使用到ansible来进行对集群设备操控和监管,对于ansible也是初次接触,记录一下!


(1)首先ansible是什么?及其优点!

        当下有许多的运维自动化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。

         Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台。

         Ansible 基于 Python 语言实现,由 Paramiko 和 PyYAML 两个关键模块构建。

         Ansible 特点:

            ①部署简单,只需在主控端部署 Ansible 环境,被控端无需做任何操作。
            ② 默认使用 SSH(Secure Shell)协议对设备进行管理。
            ③ 主从集中化管理。
            ④ 配置简单、功能强大、扩展性强。
            ⑤ 支持 API 及自定义模块,可通过 Python 轻松扩展。
            ⑥ 通过 Playbooks 来定制强大的配置、状态管理。
            ⑦ 对云计算平台、大数据都有很好的支持。
            ⑧ 提供一个功能强大、操作性强的 Web 管理界面和 REST API 接口 ---- AWX 平台。



(2)接着是Ansible的安装指令

        这里我指定安装的版本是2.3.3,使用pip安装

pip3 install ansible==2.3.3


(3)配置hosts文件

        这里有一点需要注意的是以osx为例,ansible安装完成后是不会自动生成hosts文件的,我们需要自己去根目录创建ansible/,并在ansible/下创建hosts文件进行配置,配置文件中写入需要连接控制的机器ip。

        

上图ip只是个例子,你需要改成你自己需要连接的机器ip。



(4)本地配置ssh密钥对,实现免密登录远程管理主机

            配置好hosts后,我们需要在本地生成密钥对,然后将密钥对的公钥拷贝到管理主机中的.ssh/authorized_keys文件中!

            ①生成密钥对指令(生成的密钥对在飘目录下的.ssh里,cd ~./ssh)

ssh-keygen -t rsa

      

                       

            ②公钥拷贝到管理主机指令(同样@后的ip需要改成你自己需要连接的机器ip)

ssh-copy-id -i ~/.ssh/id_rsa.pub root@333.33.333.33



(5)使用ansible ping指令校验hosts文件中配置的ip是否已通

ansible all -m ping

如返回SUCCESS(如下)

333.33.333.33 | SUCCESS =>{
    "changed": false,
    "ping": "pong"
}

代表已经ping通!大功告成!



(6)ping通远程管理主机后,如何在本地写脚本进行控制呢?

        请学习ansible操作语言[playbooks]



(7)学习资源

        Ansible中文权威指南

        playbooks







相关内容

    暂无相关文章