ansible基础使用

ansible的安装

Ansible

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

类似的自动化运维工具有很多常用的还有:

Puppet:

—基于 Ruby 开发,采用 C/S架构,扩展性强,基于SSL,远程命令执行相对较弱.

SaltStack:

—基于 Python 开发,采用 C/S 架构,相对 puppet 更轻量级,配置语法使用 YMAL,使得配置脚本更简单。

Ansible 工作机制

Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排。

由上面的图可以看到 Ansible 的核心组件组成由 5 个部分组成:

Ansible core:            核心;

core Modules:          包括 Ansible 自带的核心模块及自定义模块;

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

Playbooks:     定义 Ansible 多任务配置文件,由 Ansible 自动执行;

host Inventory:         定义 Ansible 管理主机的清单、主机池、主机列表;

yum安装ansible

yum install ansible (ansible依赖于Python 2.6或更高的版本、paramiko、PyYAML及Jinja2。)

三台主机:

192.168.38.3

192.168.38.4

192.168.38.5 (安装ansible)

使用ssh-keygen生成ssh秘钥,通过ssh-copy-id -i [email protected] 将秘钥传送到另外两台被管理的主机,测试登录被管理主机。

ansible的参数:

-u  远程执行命令的user,默认为root。

-i  指定主机清单,默认为/etc/ansible/hosts。

-m  指定模块的名称,默认command命令模块。

-a  模块的具体参数。

-k 提示输入远程主机的密码。

vim /etc/ansible/hosts   主机清单配置文件。

[test] test组有2台机器。

192.168.38.4

192.168.38.3

也可以用":"来定义一系列连续的主机,下面那样写也是ok的。

[test]

192.168.38.[3:4]

[[email protected] ansible]# ansible -m ping ‘test‘          ping模块测试,返回pong,代表ok。

192.168.38.3 | SUCCESS => {

"changed": false,

"ping": "pong"

}

192.168.38.4 | SUCCESS => {

"changed": false,

"ping": "pong"

}

[[email protected] ansible]# ansible -m command -a ‘uptime‘ ‘test‘     -m命令模块,具体执行uptime命令。

192.168.38.4 | SUCCESS | rc=0 >>

19:23:51 up  1:02,  2 users,  load average: 0.00, 0.01, 0.05

192.168.38.3 | SUCCESS | rc=0 >>

19:23:51 up  1:02,  2 users,  load average: 0.00, 0.02, 0.05

[[email protected] ansible]# ansible -u root -m command -a date ‘test‘        -u 指定用户。

192.168.38.3 | SUCCESS | rc=0 >>

2016年 11月 05日 星期六 19:24:45 CST

192.168.38.4 | SUCCESS | rc=0 >>

2016年 11月 05日 星期六 19:24:45 CS

ansible组的划分定义,2台主机分别属于2个组,但同时又属于一个大组。

cat /etc/ansible/hosts   test1和test2同属于test组。

[test:children]

test1

test2

[test1]

192.168.38.3

[test2]

192.168.38.4

[[email protected] ansible]# ansible -a date ‘test‘

192.168.38.3 | SUCCESS | rc=0 >>

2016年 11月 05日 星期六 19:44:25 CST

192.168.38.4 | SUCCESS | rc=0 >>

2016年 11月 05日 星期六 19:44:25 CST

[[email protected] ansible]# ansible -a date ‘test1‘

192.168.38.3 | SUCCESS | rc=0 >>

2016年 11月 05日 星期六 19:44:31 CST

[[email protected] ansible]# ansible -a date ‘test2‘

192.168.38.4 | SUCCESS | rc=0 >>

2016年 11月 05日 星期六 19:44:34 CST

时间: 2024-11-16 16:10:07

ansible基础使用的相关文章

ansible基础

ansible 介绍:官网,百科之类的 ansible的部署 centos 6.5上的部署. 2.2.2.11 node1.king.com ansible 2.2.2.15 node3.king.com 2.2.2.12 node2.king.com tar xf ansible-1.5.4.tar.gz cd ansible-1.5.4 python setup.py build python setup.py install mkdir /etc/ansible cp -r example

关于ansible基础入门和功能实现教程的更新页面

最近发现MDT推出去的系统的有不同问题,其问题就不说了,主要是策略权限被域继承了.比如我们手动安装的很多东东都是未配置壮态,推的就默认为安全壮态了,今天细找了一下,原来把这个关了就可以了. 关于ansible基础入门和功能实现教程的更新页面

L13 ansible 基础应用与常见模块

ansible 基础应用与常见模块 ansible中文手册:http://www.simlinux.com/books/Ansible-notes.pdf 1,运维工具简介 运维工具: 系统安装(物理机.虚拟机)--> 程序安装.配置.服务启动 --> 批量操作(批量运行命令) --> 程序发布 --> 监控 ansible 能够实现:程序安装.配置.服务启动 --> 批量操作(批量运行命令) --> 程序发布 ansible的核心组件: ansible core ho

自动化运维工具之ansible基础入门

自动化运维工具常用的有 ansible  saltstack  puppet等 ,前两者都是基于python开发,puppet基于ruby开发,今天我们简单介绍下ansible基础 一.基础知识: 1. 简介 ansible基于python开发,集合了众多运维工具的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的 (1) host inventory: 指定操作的主机,是一个配置文件里面定义监控的主机        (2) 各种模块核心模块.comman

ansible基础与部分模块应用

ansible基础与部分模块应用 1. ansible特性: ansible糅合了众多老牌运维工具的优点,基本上pubbet和saltstack能实现的功能全部能实现. 部署简单:不需要在被管控主机上安装任何客户端,操作客户端时直接运行命令. 基于python语言实现,有Paramiko, PyYAML和Jinja2三个关键模块. 模块化:调用特定模块完成特定任务.可使用任意语言开发模块,且支持自定义模块. 使用yaml语言定制剧本playbook. 基于SSH作 2. ansible的模块 c

ansible基础-安装与配置

一 安装 1.1 ansible架构 ansible是一个非常简单的自动化部署项目,由python编写并且开源.用于提供自动化云配置.配置文件管理.应用部署.服务编排和很多其他的IT自动化需求. ansible实现的自动化部署是多层次的,通过描述系统之间的逻辑关系来构建业务所需要的基础架构模型,而不仅仅用于管理一个单独的系统:也就是说ansible不仅仅能部署一个或多个独立的服务,它还能对这些服务做关联.对部署顺序做编排等,一个完美的ansible部署项目应该是层次分明.顺序有秩的. 另外,an

ansible基础-roles

一 简介 注:本文demo使用ansible2.7稳定版 在我看来,role是task文件.变量文件.handlers文件的集合体,这个集合体的显著特点是:可移植性和可重复执行性. 实践中,通常我们以部署某个服务为单元作为一个role ,然后将这些服务单元(role)放在一个roles目录下.主playbook文件通过调用roles目录下的role,来实现各种灵活多变的部署需求. 本节主要为大家介绍下roles的目录结构.引用方法及其他特性. 二 创建与目录结构 2.1 创建roles 通常创建

自动化运维工具-Ansible基础

目录 自动化运维工具-Ansible基础 自动化运维的含义 Ansible 基础及安装 Ansible的架构 Ansible的执行流程 ansible配置文件 ansible Inventory(主机清单文件) Ansible ad-hoc ansible常用模块 实战 自动化运维工具-Ansible基础 自动化运维的含义 1.手动运维时代 2.自动化运维时代 3.自动化运维工具给运维带来的好处 Ansible 基础及安装 1.什么是Ansible Ansible是一个自动化统一配置管理工具 2

Ansible基础知识

1.Ansible自动化配置管理 安装 配置 启动 nginx redhat红帽 ( 收购 ansible -->Ansible自动化运维配 置管理专家) 2.Ansible介绍及配置 #1.什么是ansible? 可以通过一个命令行完成一系列的操作. #2.ansible 优点 特点? #3.ansible 基础架构? 控制端 被控端 inventory ad-hoc playbook 连接协 议? #4.ansible 配置文件 优先级 ANSIBLE_CONFIG ansible.cfg

ansible基础—安装与常用模块

ansible介绍: ansible是一个基于python开发的轻量级自动化运维管理工具,可以用来批量执行命令,安装程序,支持playbook编排.它通过ssh协议来连接主机,省去了在每一台主机安装客户端的麻烦,相对比puppet和saltstack,显得更为简单和轻量. ansible命令参数: Usage: ansible <host-pattern> [options] Options:   -a MODULE_ARGS, --args=MODULE_ARGS