当下有许多的运维自动化工具(配置管理),例如:ansible、saltstack、puppet、fabric等
ansible 是一种集成it系统的配置管理、应用部署、执行特定任务的开源平台,是ansibleworks公司名下的项目,该公司由cobbler及func的作者与2012年创立成立
ansible 基于python语言实现,由paramiko 和 pyYAML 两个关键模块构建
ansible 特点:
部署简单,只需要主控端部署 ansible环境,被控端无需任何操作
默认使用ssh(secure shell) 协议对设备进行管理
主从集中化管理
配置简单、功能强大、扩展性强。
通过playbooks 来定制强大的配置、管理状态。
对云平台、大数据都有很好的支持。
提供一个功能强大、操作性强的web管理界面和REST API 接口——AWX平台。
ansible与saltstack:
最大的区别是ansible无需在被监控主机部署任何客户端代理,默认通过ssh通道进行远程命令执行或者下发配置。
相同点是都具有功能强大、灵活的系统管理、状态配置,都是用YAML格式来描述配置,两者提供丰富的模板及 API, 对云计算平台、大数据都有很好的支持。
安装ansible
yum -y install ansible
配置ansible
ansible目录在 /etc/ansible/
ansible.cfg hosts roles三个配置文件
ansible.cfg 是 Ansible 工具的配置文件;
hosts 用来配置被管理的机器;
roles 是一个目录,playbook 将使用它
SSH密钥认证
ssh-keygen -t rsa
ssh-copy-id [email protected] #@后面可跟IP地址也可以跟主机名字
添加被管理主机
vim /etc/ansible/hosts
[Client]
angent_host_ip_1
angent_host_ip_2
测试ansible
ansible Client -m ping ## 操作 Client 组 ( all 为操作 hosts 文件中所有主机 ),
-m 指定执行 ping 模块,下面是返回结果
192.168.12.129 | SUCCESS => {
"changed": false,
"ping": "pong"
}
# -i 指定 hosts 文件位置
# -u username 指定 SSH 连接的用户名
# -k 指定远程用户密码
# -f 指定并发数
# -s 如需要 root 权限执行时使用 ( 连接用户不是 root 时 )
# -K -s 时,-K 输入 root 密码
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。