Ansible2.3.3安装及配置hosts,ansible2.3.3hosts
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
评论暂时关闭