zhouer 发表于 2018-1-2 21:00:30

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]
查看完整版本: Ansible基础及安装