ansible-playbook

ansible是运维的自动化工具。

特点:

①部署简单,只需在主控端部署ansible环境,被控端无需做任何操作。

②默认使用ssh协议对设备进行管理,是基于ssh来和远程主机通信的。

③有大量常规运维操作模块,可实现日常绝大部分操作。

④配置简单,功能强大,可扩展行强。

⑤轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可。

ansible组成:

ansible:ansible核心程序

hostInventory: 记录由ansible管理的主机信息,包括端口,密码,ip,用户名等

playbooks: 剧本yaml格式文件,

coreModules: 核心模块,主要操作是通过调用核心模块来管理任务。

CustomModules: 自定义模块

ConnectionPlugins: 连接插件

ansible任务执行

①ad-hoc——点对点模式

②playbook模式——剧本模式

ansible执行工作,工作原理

①加载自己的配置文件,默认/etc/ansible/ansible.cfg

②查找对应的主机配置文件,找到要执行的主机或者组——hosts文件

③加载模块文件

④通过ansible将模块或命令生成对应的临时py文件,将该文件传输到远成服务器。

⑤执行该文件,

⑥执行并返回结果

⑦删除临时py文件,并退出

ansible常用模块参数
参数说明
-a 执行命令, ansible web -m shell -a 'cat /etc/passwd ‘
-K提示输入密码使用sudo
-k 登录密码,提示输出ssh密码而不是基于秘钥验证
-C 模拟运行环境并预运行,可以进行查错测试
-i 指定主机清单的路由
-f 并行任务数,默认为5,即并发量
-m 需要执行模块的参数
ansible常用模块
<font color='red'>模块说明
ping主机连通测试
template 将嵌入了变量的文件,上传到远程主机
command可以直接在远程主机上执行命令,并将结果返回本主机,但不支持| 管道命令
shell 远程主机上调用shell解释器运行命令,支持shell命令的所有功能
copy 将文件上传到远程主机
file 主要是对文件进行管理,列如创建文件,为文件设置权限
fetch从远程某主机获取文件到本地
cron适用于管理cron计划任务
yum 用于软件的安装
service 用于对服务程序的管理
user 用来管理用户账户
group用于添加或删除组
script将本地脚本直接运行在远程主机上
lineinfile 用于对文件进行添加内容
mount用于管理被控端设备的挂载
unarchive 用于远程主机上解包文件
hostname 用于修改被控制端的主机名
uri 下载软件包
playbook中变量的引用

1: 命令行带入变量 -e var=值

2: yaml文件里定义vars引入变量 vars:

- test: wawa

3:hosts主机清单里带入变量

[test:vars]

test=wawa

4:roles带入变量

test: wawa

ansible playbook文件解析

files: 存shell脚本,安装包,文件,不带变量的文件

tasks: 任务清单,即需要完成的操作

handlers: 触发器

vars: 用于存放自定义变量

templates: 文件存有变量,存放文件模版

tests: 测试tasks文件是否能正常运行

定义角色

①手动定义角色——cd roles目录,手动创建ansible playbook文件

②自定义角色

ansible-galaxy init #角色名
tree  #查看文件

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值