00-Ansible的简介与安装

2020-01-13 11:13:19 浏览数 (1)

引入

现在要在50台主机上都安装上nginx、php、mysql。

  1. 手工去装 效率太低
  2. 写一个shell脚本去自动安装

如果出了错误,需要自己手工去收集信息然后解决,脚本更新了以后又要重新下载一遍去执行,不方便效率低。

有没有一种工具,能把任务批量给主机去执行,然后还能收集执行过程中的具体信息?

Ansible这个工具,就很方便了解决这些问题。

概述

Ansible是一个开源的自动化运维工具

基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。

工作机制

ansible要把任务派发给谁来执行?

所以,得有一个配置清单,告诉ansible要在哪些主机上执行任务

ansible如何来执行任务?

ansible 模块通过 SSH 协议,发送命令到目的主机执行

1

Ansible

ansible核心

2

Modules

包括 Ansible 自带的核心模块及自定义模块

3

Plugins

完成模块功能的补充,包括连接插件、邮件插件等

4

Playbooks

剧本,定义 Ansible 多任务配置文件,由Ansible 自动执行

5

Inventory

定义 Ansible 管理主机的清单清单

6

hosts

被管理节点

安装

删除原来的源,直接使用阿里的源

代码语言:txt复制
cd  /etc/yum.repos.d/  
#如果是红帽系统,需要把$releaseserve替换为7
wget  -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
wget  -O epel.repo http://mirrors.aliyun.com/repo/epel-6.repo   

安装Ansible,在安装ansible时不需要epel

代码语言:txt复制
mv epel-6.repo epel-6.repo.bak 
yum install -y ansible  

安装好以后再还原回来

代码语言:txt复制
mv epel-6.repo.bak epel-6.repo  

查看版本信息

代码语言:txt复制
[root@server ansible]#ansible --version
ansible 2.3.1.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Aug  2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]

0 人点赞