Ansible基础及安装
Ansible基础Ansible是一个模型驱动的配置管理器,支持多节点发布,远程任务执行。默认使用SSH进行远程连接。无需在被管节点上安装附加软件,可使用各种编程语言进行扩展
Ansible总体系统构成
Ansible管理系统有控制主机和一组被管节点组成。控制主机直接通过SSH控制被管节点,被管节点通过Ansible的资源清单(inventory)来进行分组管理
https://images2017.cnblogs.com/blog/861231/201711/861231-20171106145856825-1183620209.png
Ansible如何进行配置管理
如下图例,这是Ansible用剧本(playbook)方式对3台运Nginx服务的Ubuntu服务器进行配置管理。他编写了一个webservers.yml的脚本。在Ansible中,这个脚本称为playbook。在playbook中描述了包含被管节点的hosts和对这些hosts按照顺序执行任务列表(task)
$ ansible-playbook webservers.yml
Ansible将会通过SSH连接并行的在web1,web2,web3上上面安装、配置运行Nginx服务
https://images2017.cnblogs.com/blog/861231/201711/861231-20171106150345388-333398211.png
Ansible基础架构
Ansible:ansible自身核心模块
Modules: core module(自带模块), custom modules(自定义模块)
Plugins(log、mail):借助插件完成记录日志邮件等功能
Host inventory:主机库,定义 可管控的主机列表
Playbooks:剧本执行多个任务。并非必需让节点一次运行多个任务
Connection plugins:连接插件,一般默认基于ssh协议连接
https://images2017.cnblogs.com/blog/861231/201711/861231-20171106150445247-1424685469.png
Ansible安装
系统环境
https://images2017.cnblogs.com/blog/861231/201711/861231-20171106150609825-210258485.png
安装Ansible(操作均在主控端)
1、安装epel源
rpm -Uvh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
2、安装ansible
yum install -y ansible
3、配置ssh-key,实现主控端与被管节点的连接
ssh-keygen -t rsa -P '' //生成密钥
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.88.2 //把公钥分配到被控端主机
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.88.3
4、定义Host Inventory,定义可管控的主机
tree /etc/ansible/
/etc/ansible/
├── ansible.cfg //ansible主配置文件
├── hosts//Host Inventory配置文件
└── roles
vim /etc/ansible/hosts
192.168.88.2
192.168.88.3
测试ping模块
https://images2017.cnblogs.com/blog/861231/201711/861231-20171106150759919-265405229.png
页:
[1]