ansible介绍

1. 介绍

ansible是一个自动化运维工具,基于Python研发。糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无需安装客户端。ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件。

1.1 特性

  1. 模块化设计;

  2. 基于python,有paramikopyyamljinja2这3个关键模块实现

  3. 部署方便,agentless工具

  4. 主从模式工作;

  5. 支持自定义模块

  6. 支持playbook剧本,所有任务按照设置顺序依次执行;

1.2 架构

  • ansible core: ansible自身核心模块;

  • host inventory:主机库,定义可管控的主机列表;

  • connection plugins:连接插件,一般默认ssh协议;

  • modules:core modules为自带,custom modules为自定义模块

  • playbook:剧本模块

1.3 配置文件

主配置文件/etc/ansible/ansible.cfg

主机列表:/etc/ansible/hosts

2. 安装

系统centos6.5

  1. 下载epel源

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

  1. yum install ansible即可

3. 配置

3.1 添加host

即主机清单(host invenory), 即通知ansible需要管理哪些主机。也可通过-i选项进行单独指定。默认为/etc/ansible/hosts,添加格式:


[group]

hostanme

ip address

支持主机名或IP地址格式,按照组的形式进行添加,同一个IP可同属于多个组

也可通过命令行管理,Ad-hoc command

3.2 ansible命令格式

语法格式:

ansible <host-pattern> [-f forks] [-m module_name] [-a args]

-m: 要执行的模块,默认为==command==

-a:模块参数

-u:ssh连接用户名,默认为==root==,也可在ansible.cfg中配置

-k:体术输入ssh登陆密码

-s:以sudo方式运行

-U:sudo到哪个用户,默认为==root==

-K:提示输入sudo密码,当不是NOPASSWD模式时使用

-C:测试,并不会真运行

-c:连接类型,默认为==smart模式==

-f:fork出多少个进程并发,默认==5个==

-i: hosts文件路径,默认==/etc/ansible/hosts==

-I:指定pattern,对<host_pattern>中已匹配的主机再过滤一次;

--list-hosts: 只打印出哪些主机会执行这个playbook文件,不会实际执行;

-M:要执行的模块路径,默认为==/usr/shar/ansible==

-o: 压缩输出

--private-key:私钥路径

-T:ssh连接超时时间,默认==10s==

-t:日志输出目录,日志文件名已主机名命名

-v:version

3.3 个性配置

修改/etc/ansible/ansible.cfg`文件

  1. host_key_checking = False关闭该注释,用于解决首次连接服务器时提示需验证。

  2. 常用文件目录:

  • inventory:/etc/ansible/hosts

  • library: /usr/share/my_modules/

  • remote_tmp: $HOME/.ansible/tmp

  • local_tmp: $/HOME/.ansible/tmp

  • 配置文件: /etc/ansible/ansible.cfg

3.4 ansible模块

模块就是ansible的命令,模块详细用法可用ansible-doc <module_name>查看

或官网查看:

https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html

命令行中用模块

可用-m <module_name>来调用模块,-a para添加模块的参数

如:

ansible all -m yum -a "name=httpd state=present"

playbook中使用模块

tasks每个action都是对模块的一次调用,action的写法:

module_name: module_para

常用模块

  • ping

  • debug:用于打印消息

  • copy:本地复制到远端

  • template:从本地复制到远端,并进行变量替换

  • file:设置文件属性

  • user:用户账户

  • yum:yum包管理

  • service:管理服务

  • firewalld:管理防火墙

  • shell:节点上执行shell命令,支持$HOME < > | ; &

  • command:远程节点上执行命令,不支持$HOME < > | ; &

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容

  • 运维核心工作: 操作系统安装(物理机、虚拟机)--> 应用程序包部署(安装、配置、服务启动 )--> 批量操作 -...
    Net夜风阅读 1,525评论 0 4
  • 一、简介 在Linux自动化运维中,常见的自动化运维工具可分为需要安装终端的puppet、func和不需要安装终端...
    小尛酒窝阅读 2,719评论 0 6
  • 一、初识ansible 1、ansible是新出现的自动化运维工具 ansible是一个配置管理和应用部署工具,基...
    清风徐来_简阅读 2,496评论 0 15
  • 简介 架构 原理 组成 ANSIBLE PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置...
    毛利卷卷发阅读 1,062评论 0 2
  • 1)安装2)常用模块3)inventory4)playbook(role\tag\template)5) yaml...
    秦记阅读 4,167评论 2 5