ansible简介
ansible是一个自动化运维工具,其基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
作为一个开源配置管理工具,我们可以使用ansible来自动化执行任务,部署应用程序实现IT基础架构,如服务器的初始化配置、安全基线配置、更新和打补丁系统,安装软件包等。ansible架构相对比较简单,仅需通过SSH连接远程主机即客户机执行任务即可
Ansible特点
- 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
- 默认使用SSH协议对设备进行管理;
- 有大量常规运维操作模块,可实现日常绝大部分操作;
- 配置简单、功能强大、扩展性强;
- 支持API及自定义模块,可通过Python轻松扩展;
- 通过Playbooks来定制强大的配置、状态管理;
- 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
- 提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。
Ansible与其他工具的差异
Ansible vs Puppet:
架构差异:Ansible采用无代理架构,而Puppet需要在被管理节点上安装Agent。
语法易用性:Ansible的YAML语法更为简洁直观,Puppet使用自己的声明式语言,学习曲线较陡峭。
执行方式:Ansible通过SSH执行任务,Puppet通过守护进程进行周期性检查和配置。
Ansible vs Chef:
配置管理:Ansible强调即时的任务执行,Chef侧重于持续的配置管理。
资源消耗:Ansible的轻量级架构对系统资源消耗较小,Chef的Client-Server模式可能带来更高的资源占用。
社区支持:Ansible和Chef都有活跃的社区,但Ansible近年来在开源社区中的受欢迎程度更高。
Ansible vs SaltStack:
通信机制:Ansible使用SSH进行通信,SaltStack使用ZeroMQ进行高速通信。
扩展性:两者都支持自定义模块和插件,但SaltStack在处理大规模集群时表现出更高的性能。
易用性:Ansible的入门门槛较低,适合快速上手,SaltStack的配置和管理相对复杂。
Ansible安装
- 环境
192.168.100.101 ansible服务端
192.168.100.102 客户端
修改主机名
[root@master ~]# hostnamectl set-hostname ansible.server
[root@master ~]# hostname ansible.server
[root@master ~]# bash
[root@ansible ~]#
-
安装部署
-
安装epel扩展源
[root@ansible ~]# yum install -y epel-release
2.安装ansible
[root@ansible ~]# yum install -y ansible
修改ansible的hosts文件
[root@ansible ~]# cd /etc/ansible/
[root@ansible ansible]# ls -la
[root@ansible ansible]# vim hosts
#webservses行取消注释,添加被控端IP
生成密钥
生成密钥,并将主控节点的密钥发送给受控节点(一直按enter键即可)
[root@ansible ansible]# ssh-keygen
配置免密
[root@ansible ansible]# ssh-copy-id root@192.168.100.102
测试
[root@ansible ansible]# ansible all -m ping
登录
可以访问到被控端
[root@ansible ansible]# ssh root@192.168.100.102
Exit登出
标签:Ansible,安装,192.168,ansible,Puppet,root From: https://blog.csdn.net/2301_79650739/article/details/144109139