码迷,mamicode.com
首页 > 其他好文 > 详细

Ansible安装简介

时间:2018-12-09 21:28:40      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:配置   注意   工作环境   技术分享   注意事项   工作原理   代码   简介   幂等性   

Ansible简介

Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,简单的说是一个配置管理系统(configuration management system)。你只需要可以使用 ssh 访问你的服务器或设备就行。它也不同于其他工具,因为它使用推送的方式,而不是像 puppet 等 那样使用拉取安装agent的方式。利用它可以将代码部署到任意数量的服务器上!

Ansible应用

批量部署

ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作。
比如:同时在100台服务器上安装nginx服务,并在安装后启动它们。
比如:将某个文件一次性拷贝到100台服务器上。
比如:每当有新服务器加入工作环境时,你都要为新服务器部署某个服务,也就是说你需要经常重复的完成相同的工作。

Ansible特点

? 模块化:调用特定的模块,完成特定任务
? 有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块
? 支持自定义模块
? 基于Python语言实现
? 部署简单,基于python和SSH(默认已安装),agentless
? 安全,基于OpenSSH
? 支持playbook编排任务
? 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况
? 无需代理不依赖PKI(无需ssl)
? 可使用任何编程语言写模块
? YAML格式,编排任务,支持丰富的数据结构
? 较强大的多层解决方案

Ansible工作原理

技术分享图片

? PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是JSON格式的YML文件
? INVENTORY:Ansible管理主机的清单/etc/anaible/hosts
? MODULES:Ansible执行命令的功能模块,多数为内置的核心模块,也可自定义,ansible-doc –l 可查看模块
? PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用
? API:供第三方程序调用的应用程序编程接口
? ANSIBLE:组合INVENTORY、 API、 MODULES、PLUGINS的绿框,可以理解为是ansible命令工具,其为核心执行工具

注意事项

? 执行ansible的主机一般称为主控端,中控,master或堡垒机
? 主控端Python版本需要2.6或以上
? 被控端Python版本小于2.4需要安装python-simplejson
? 被控端如开启SELinux需要安装libselinux-python
? windows不能做为主控端

Ansible安装

安装ansible

# yum install -y ansible

Inventory文件

配置第一台测试机器Inventory文件
# vim /etc/ansible/hosts       (Inventory 文件的位置)
...
...
...
末尾添加以下内容:

[server1]       ##定义了一个组名   

192.168.61.130 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=redhat     ##定义一台客户机

测试

# ansible 192.168.61.130 -a uptime
192.168.61.130 | SUCCESS | rc=0 >>
20:34:20 up  1:03,  2 users,  load average: 0.00, 0.01, 0.05

# ansible server1 -a uptime
192.168.61.130 | SUCCESS | rc=0 >>
 20:46:53 up  1:15,  2 users,  load average: 0.08, 0.03, 0.05

Ansible安装简介

标签:配置   注意   工作环境   技术分享   注意事项   工作原理   代码   简介   幂等性   

原文地址:http://blog.51cto.com/13689359/2328158

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!