Ansible-1 ansible介绍及安装

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
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@被管理节点ip
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 是匹配所有指定的所有资产。
    // 在资产的章节中,我们将详细阐述。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容