Ansible - playbook - 概要
- 概述
- 简单描述 ansible playbook
1. playbook
概述
- ansible 的 "脚本"
场景
- ansible
单条命令, 执行一个操作
问题
- 如果执行多个操作, 要怎么办
- 如果需要逻辑, 和其他组合, 要怎么办
解决
- ansible-playbook
- ansible
一个简单的 playbook
- playbook01.yml
---
- hosts: servers
tasks:
- name: ping test
ping:
- 解释
格式
- 这个文本, 使用的是 yml 格式
- yml 格式本身不难, 但是我目前也不太熟练, 暂时就不讲解
- 百度很多, 一搜就出来了
- yml 格式本身不难, 但是我目前也不太熟练, 暂时就不讲解
- 这个文本, 使用的是 yml 格式
---- 标志开头
- 本身没有实际意义
- 如果遇到多个 ansible 脚本, 则可以标记开头, 做分割
- 标志开头
hosts: servers
hosts
- 必填字段
- 目标主机
servers
- 准备
- 在 inventory 文件里有描述
- 或者指定自己的 inventory 文件
- 准备
tasks
- 任务列表
- 必填字段
- 下面以 数组 的形式包含任务
- 任务列表
task: name
- 任务名称
- 非必填字段
- 目的就是注释, 在执行的时候, 会显示
- 任务名称
task: ping
- 模块名称
- ping
- 没有参数, 后面就为空
- 模块名称
执行
命令
> ansible-playbook -i hosts playbook01.yml
结果
PLAY [servers] ********************************************************************************************************************** TASK [Gathering Facts] **************************************************************************************************************
ok: [demo] TASK [ping test] ********************************************************************************************************************
ok: [demo] PLAY RECAP **************************************************************************************************************************
demo : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
后续
了解 playbook 的多个属性
尝试 playbook 的其他特性
- 操作
- 模块化等
- 结果的返回
了解 其他模块
- 命令
- playbook
关于 Gathering Facts
- 结果里的一项
目前不知道是干啥的
大概是收集远端机器的 系统信息, 并放到变量里
- 以后可以用
默认是打开
可以关闭
# 在 yml 里添加这个选项即可
gather_facts: false
- 结果里的一项
登录用户
- 默认是 root
- 有字段可以设置
# 可以改成别的用户
remote_user: root
ps
ref
- learn ansible
- Intro to Playbooks
疑问
- yaml 格式
- playbook 感觉东西很多
- 慢慢来吧
Ansible - playbook - 概要的更多相关文章
- Ansible playbook API 开发 调用测试
Ansible是Agentless的轻量级批量配置管理工具,由于出现的比较晚(13年)基于Ansible进行开发的相关文档较少,因此,这里通过一些小的实验,结合现有资料以及源码,探索一下Ansible ...
- ansible playbook实践(四)-如何调试写好的playbook文件
有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应 ...
- ansible playbook批量改ssh配置文件,远程用户Permission denied
最近手里的数百台服务器需要改/etc/ssh/sshd_config的参数,禁止root直接登陆,也就是说 [root@t0 ~]# cat /etc/ssh/sshd_config | grep R ...
- ansible笔记(11):初识ansible playbook(二)
ansible笔记():初识ansible playbook(二) 有前文作为基础,如下示例是非常容易理解的: --- - hosts: test211 remote_user: root tasks ...
- ansible笔记(10):初识ansible playbook
ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...
- Ansible playbook 批量修改服务器密码 先普通后root用户
fsckzy Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...
- 写Ansible playbook添加zabbix被监控的对象
本主题达到的效果是能通过编写Ansible Playbook,创建zabbix主机组,把被监控的对象加入到zabbix监控系统中,同时链接到对象的模板. 1.准备工作 在zabbix服务器上面,我们需 ...
- Ansible playbook基础组件介绍
本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...
- ansible playbook基本操作
一.ansible playbook简单使用 相当于是把模块写入到配置文件里面 vim /etc/ansible/test.yml //写入如下内容: --- - hosts: 127.0.0.1 r ...
随机推荐
- Pycharm常用快捷捷捷啊键= =
超多快捷键的其实,懒得都记住(主要是记不住……) 这里记录一下自己觉得用了确实会很省事的,特别是当你没有鼠标的时候 = = 超常用的 Ctrl + / 注释该行 Ctrl + D 复制该行到下一行 ...
- jave的安装
1.此电脑-属性-高级系统设置-环境变量2.点下面那个 新建- JAVA_HOME3. 双击PATH变量,新建一个参数 4.新建CLASSPATH环境变量
- JDBC没有导入驱动jar包
- PHP 把秒数转为时分秒格式
PHP函数 1.gmdate $seconds = 174940;$hours = intval($seconds/); $time1 = $hours."小时".gmdate(' ...
- AI赋能抗疫!顶象入选“中关村第二批抗疫新技术新产品新服务清单”
新型冠状病毒疫情仍未到达拐点,要打赢这场疫情攻坚战,不仅需要全国人民共同努力,还要使用科技的手段,用科学来守护大家的安全.对病毒的识别需要运用生物学技术进行基因测序,病患需要依靠医学能力进行救治.与此 ...
- Django | Unable to get repr for <class 'django.db.models.query.QuerySet'>
问题:在mysql中查询数据时,代码如下: skus = category.sku_set.filter(is_launched=True).order_by(sort_field) skus 取不到 ...
- (转)http 之session和cookie
http://www.cnblogs.com/xuxm2007/archive/2011/12/05/2276705.html Session简介 摘 要:虽然session机制在web应用程序中被采 ...
- MyBatis使用步骤及原理
主要讲解MyBatis-基本使用步骤 回顾: MyBatis是一个数据持久层(ORM)框架.把实体 类和SQL语句之间建立了映射关系,是一种半自 动化的ORM实现.MyBATIS需要 ...
- SSM项目中的.tld文件是什么,有什么作用?怎么自定义tld文件
原文链接:https://www.cnblogs.com/guaishoubiubiu/p/8721277.html TLD术语解释:标签库描述文件,如要在JSP页面中使用自定义JSP标签,必须首先定 ...
- Python_包
包 包是一种通过使用‘.模块名’来组织python模块名称空间的方式. 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警 ...