CLOUD 云计算进阶(七)-playbook基础 、 playbook进阶

一 Ansible 七大武器

1ansible 命令
2ansible-doc
3ansible-console
4ansible-galaxy
5ansible-playbook
6ansible-vauil
7ansible-pull | push


二 JSON特性
概念:是JavaScript对象表示法,基于文本独立于语言的轻量级数据交换格式
分隔符:’ () [] {} : ,
1 JSON特性:
1纯文本
2自我描述性(人类可读)
3层级架构
4通过JavaScrip解析

2 语法规则:
 数据在名称/值对中
 中括号保存数组
 逗号分隔
 大括号保存对象
3 JSON书写格式
{“诗仙”:"李白"}

Key:value
Key:[a,b,c]
[a,key:value,c]
[a,b,c,[1,2,3]]
K1:k2:v2

数组-列表(小名)


三 YAML
1概念
可读性高,用来表示数据序列的格式

2基础语法
数组用-表示
键值对:表示  key: value
固定缩进
#注释

3键值对表示方法
"诗仙": "李白"
"诗仙":
  "李白"
4数组
诗人:
-李白: 爱好:酒 
-杜甫
-白居易
-王维


四  JINJa2
1 基本语法
模板表达式{{}}
控制语句
循环判断


五 Playbook
1概念:配置,部署,管理托管主机的剧本
2执行简单任务
 反复使用编写的代码
3语法基础
 YAML
 #
 缩进
Play
Hosts variables roles tasks
—开始

4构成:
 Hosts
Vars
Tasks
Handers
5执行结果
 红色:失败
 绿色:成功
 ***系统状态发生改变
 
6 tasks 命令的集合
  Hosts 主机的集合
     定义要执行任务的主机


六  Playbook 书写:
Vim ping.yml

-host: web
Remote_user: root
Tasks:

  • ping:
     -name:
     user:
    Name:z3
    Group:users
    -name:change passwd
    Shell: echo 123 | passwd --stdin z3
    Ansible-playbook ping.yml

一 变量
1 添加用户
给web主机添加用户14 ,设置默认密码123

-hosts: web
Remote_user: root
Vars:
Username:14
Tasks:
-name: create user “{{username}}”
User:
Name: ”{{username}}”
-shell: echo 123 | passwd --stdin “{{username}}”

2 设置密码解决明文问题
User模块的password不能设置密码
测试发现.Password是吧字符串写入shadow,是没有加密的
Linux的密码是需要加密的,所以不能使用
解决方案:
 变量过滤器
{{‘urpassword’|password_hash(‘sha512’)}}

16619822690

3 设置默认密码123qqq…A

-hosts: web
Remote_user: root
Vars:
Username:14
Tasks:
-name: create user “{{username}}”
User:
Name: ”{{username}}”
Password={{‘123qqq…A’|password_hash(‘sha512’)}}


二 传递参数:
-e 参数
参数格式必须是:Json yaml
Yaml 可以使用参数文件 
Args.yml

Username:
Nb
-e @args.yml

Ansible-playbook user.yml -e ‘{“username”:plj}’
Ansible-playbook user.yml -e @args.yaml
Cat args.yaml


三 error
Ansible-playbook对错误处理
默认情况判断


四 tags 给制定的任务定义一个调用标识
Name: NAME
Module: arguements


五 When / register
满足条件后触发某一动作

Uptime | awk ‘{printf(%.2f),$(NF-2))0}’
Printf “abc”

-shell: uptime | awk ‘{print(“%.2f”,$(NF-2))}’
Register: result
-service:
Name: httpd
State: stopped
When: result.stdout| float > 0.7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~上善若水~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值