前言
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
概念
Ansible:是一个配置管理系统(configuration management system),是一个IT自动化的配置管理、流程控制、资源部署的工具。
组成部分
- Playbooks:任务剧本,编排定义ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的YML文件。
- Inventory:ansible管理主机的清单/etc/anaible/hosts
- Moudles:ansible执行命令的功能模块,多数为内置的核心模块,也可自定义 Plugins模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用 API:供第三方程序调用的应用程序编程接口
- Plugins的绿框,可以理解为是ansible命令工具,其核心执行工具。
优缺点
1、无客户端
2、推送式
3、丰富的modle
效率低、易挂起
并发性能差
用途
ansible完成一些批量任务,或者完成一些需要经常重复的工作。
安装
- 环境准备
Python
Setuptools
Pip(可选) - ansible快速安装
pip insall ansible - ansible源码安装
获取源码
解压源码
进入源码目录
运行source ./hacking/env-setup - ansible系统源安装
Centos
– yum install ansible
Ubuntu
–apt-get install software-properties-common
–apt-add-repository ppa:ansible/ansible
–apt-get update
–apt-get install ansible
配置文件
export ANSIBLE_CONFIG
./ansible.cfg
~/.ansible.cfg
/etc/ansible/ansible.cfg
Ansible配置文件获取
/etc/ansible
直接去github.com上去取配置文件,并放在相应的位置。
Ansible配置详解
defaults默认配置项
privilege_escalation 执行命令的用户权限设置
paramiko_connection paramika插件设置
ssh_connection ssh连接设置
accelerate
selinux & colors
总结
本文简单的介绍了一些ansible的基本概念以及安装方法。如果有其它问题,请及时与作者联系。