没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
一、ansible简介 1.ansible ansible是新出现的自动化运维工具,基于Python研发。糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端。ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件。主要包括: (1)、连接插件connection plugins:负责和被监控端实现通信; (2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机; (3)、各种模块核心模块、command模块、自
资源推荐
资源详情
资源评论
linux 自动化运维工具自动化运维工具ansible的使用详细教程的使用详细教程
一、一、ansible简介简介
1.ansible
ansible是新出现的自动化运维工具,基于Python研发。糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序
的部署、批量运行命令等功能。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端。
ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
参考站点:http://www.ansible.com.cn
2.ansible特性特性
模块化设计,调用特定的模块来完成特定任务,本身是核心组件,短小精悍;
基于Python语言实现,由Paramiko(python的一个可并发连接ssh主机功能库), PyYAML和Jinja2(模板化)三个关键模块实现;
部署简单,agentless无客户端工具;
主从模式工作;
支持自定义模块功能;
支持playbook剧本,连续任务按先后设置顺序完成;
期望每个命令具有幂等性:
3.ansible架构架构
ansible core:ansible自身核心模块
host inventory:主机库,定义可管控的主机列表
connection plugins:连接插件,一般默认基于ssh协议连接
modules:core modules(自带模块)、custom modules(自定义模块)
playbooks:剧本,按照所设定编排的顺序执行完成安排任务
4.配置文件:配置文件:
(1)ansible应用程序的主配置文件:/etc/ansible/ansible.cfg
(2) Host Inventory定义管控主机:/etc/ansible/hosts
遵循INI风格;中括号中的字符是组名;一个主机可同时属于多个组;
示例:
代码如下:
# Ex 1: Ungrouped hosts, specify before any groupheaders.直接在任何组的头部前面指定,不属于任何组的主机
green.example.com
blue.example.com
192.168.100.1
192.168.100.10
# Ex 2: A collection of hosts belonging to the’webservers’ group;一批主机属于一个组,例如定义为’webservers’的组
[webservers] alpha.example.org
beta.example.org
192.168.1.100
192.168.1.110
注意:默认是以root用户执行,但是基于ssh连接操作要多次输入密码,为方便可以使用基于ssh密钥方式进行认证
二、二、ansible应用程序命令应用程序命令
1.ansible-doc命令:获取模块列表,及模块使用格式;
代码如下:
ansible-doc -l:获取列表
ansible-doc -s module_name:获取指定模块的使用信息
2.ansible命令格式
代码如下:
ansible <host-pattern> [-f forks] [-m module_name] [-a args] <host-pattern>
<host-pattern>
指明管控主机,以模式形式表示或者直接给定IP,必须事
先定义在文件中;all设置所有
[-f forks]
指明每批管控多少主机,默认为5个主机一批次
[-m module_name]
使用何种模块管理操作,所有的操作都需要通过模块来指
定
[-a args]
指明模块专用参数;args一般为key=value格式
注意:command模块的参数非为kv格式,而是直接给出要
执行的命令即可;
注意:command模块的参数非为kv格式,而是直接给出要执行的命令即可;
注意:<host-pattern>默认读取/etc/ansible/hosts,也可以指明自定义文件路径
剩余6页未读,继续阅读
资源评论
weixin_38665814
- 粉丝: 6
- 资源: 981
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功