Ansible安装简介

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

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

时间: 2024-07-31 05:06:23

Ansible安装简介的相关文章

自动化运维系列之Ansible的简介与安装【持续更新···】

自动化运维系列之Ansible的简介与安装 自动化运维工具简介 由于互联网的快速发展导致产品更新换代的速度逐渐加快,这就导致运维人员的日常工作会大大增加,如果还是按照传统方式进行维护工作会使工作效率低下.此时,就需要部署自动化运维了,自动化运维会尽可能安全.高效的完成运维人员的日常工作. 自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的Agent程序来完成管理功能,如:Puppet.Func.Zabbix等:另一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,

自动化批量部署工具Ansible笔记之ansible安装与Inventory文件

一.ansible简介 ansible是一款自动化运维部署工具,与saltstack,pupet等不同的是,ansible没有采用C/S的架构,即没有客户端与服务端之分.这也就意味着,ansible的安装更加方便,管理节点更加灵活(任何一台安装了ansible的机器都可以充当管理节点). ansible提供了丰富的模块来方便的完成管理任务,对于复杂的管理任务来说,ansible通过编写playbook的方式来批量执行.而且ansible也可以并发的执行操作,可以同时在多台机器上执行playboo

使用ansible安装配置zabbix客户端

ansible角色简介: 目录名 说明 defaults 默认变量存放目录 handlers 处理程序(当发生改变时需要执行的操作) meta 角色依赖关系处理 tasks 具体执行的任务操作定义 templates 模板文件存放目录 vars 变量文件目录 files 安装包文件目录 1.查看ansible控制端目录结构,tree /etc/ansible /etc/ansible/ ├── ansible.cfg ├── delete_zabbix_agent.yml ├── hosts ├

【mac】ansible安装及基础使用

安装 环境释放 mac 10.12.5 #more /System/Library/CoreServices/SystemVersion.plist 安装命令 #ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" #brew update #brew install Ansible 安装后hosts默认访问位置 /usr/local/et

ansible安装应用及playbook剧本的定义

在配置集群时,每个节点上有很多相同的配置,如启动服务相同.安装程序.提供相同的配置文件,甚至定制相同的任务计划来定期执行某些操作等.如果你管理的只是三两个节点配置起来还是相当简单的,但是有三五十台,甚至上百台你还要自已一个一个手动来配置,那就太痛苦了.因些我们就需要能实现批量管理的一套组件,ansible就是实现这样管理的工具. ansible以它强大功能和简单上手的应用,在2012年获OSS(Open Source Software,开源软件 开放源代码软件)一项大奖,评为前十名,评为最有用的

ansible 安装与基本功能的使用

实验环境: centos6.6  IP 192.168.38.152 (安装ansible) centos6.6  IP 192.168.38.155(hostname: web155.com,实验用的客户机) 安装方法: 利用yum 安装ansible,要求系统的python要是2.6以上 1.1  开始安装: 1.1.1 需要在152的机器安装一下epel外部源,可以使用阿里云的源: 更新源的方法: 1. 首先卸载以前装的epel 以免影响   rpm -e epel-release 2. 

ansible安装及使用

一.ansible介绍 1.ansible ansible是新出现的自动化运维工具,基于Python研发.糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能.仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端.ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定操

ansible安装zabbix_agent客户端

想着机器已经有几台了,说多不多,少也不算少,想着利用ansible安装zabbix_agent 客户端方便点了.做完了有些东西记录下,于是就有了这篇文章了. [[email protected]_WEB01 ansible ]# tree .├── ansible.cfg├── hosts├── roles│   └── zabbix_agent_install│       ├── files│       │   ├── gcc_zabbix.sh│       │   └── zabbix

初探ansible安装

一.ansible介绍常用的自动化运维工具 Puppet —基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱SaltStack —基于 Python 开发,采用 C/S 架构,相对 puppet 更轻量级,配置语法使用 YMAL,使得配置 脚本更简单 Ansible —基于 Pythonparamiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2 模板语言,更强的远程命令执行操作 其他 DevOps 请参看:https://g