Ansible-playbook
石兴稳
车轮塑造形体,技术改变生活
展开
-
ansible基出用法10_shell
shell 模块执行tasks 有较多的参数,和command 差不多- chdir: 执行命令前进入某个目录- creates: 创建一个文件- removes: 删除一个文件 - name: exec shell abd.sh and result to shell_file4#这个命令执行时需要两个条件: 1. 需要到指定目录下执行,2这个目录下没有参数中的文件时才能执行 shell: sh abd.sh >> shell_file4 a.原创 2020-09-24 16:30:37 · 311 阅读 · 0 评论 -
ansible基础用法9_serial_async_poll
#1.同步阻塞模式指在playbook执行时,控制端和被控制端会一直保持连接状态,逐个任务的执行,直到该playbook执行完毕,这种模式称为同步阻塞模式,也是absible的默认执行模式#2.异步模式指ansible将一次性运行所有的任务,并将所有的任务丢到后台执行,每个任务有一个job_id,ansible会根据这个job_id每隔一段时间轮训检测该任务的执行情况,直到检测到任务执行结束。这种模式称为异步模式---- hosts: all#forks 并发数默认是5个,可以在ansible..原创 2020-09-24 10:21:56 · 1557 阅读 · 0 评论 -
ansible基础用法8_block and line
blockinfile模块可以在指定的文件中插入一段文本,这段文本是被标记过的,以便在以后的操作中可以通过标记找到这段文本,然后修改或者删除这段文本lineinfile模块可以确保某一行文本存在于指定的文件中,或者确保从文件中删除指定的文本,还可以根据正则表达式替换某一行文本其实两则没有本质的区别,line 针对某行,block 是某个段或者某几行---- hosts: all tasks: - name: judge file is exits stat: .原创 2020-09-23 17:12:35 · 229 阅读 · 0 评论 -
ansible基础用法7_handlers
使用meta模块,headlers会在它所对应的task任务执行完后立即被触发并执行,即在playbook的中间环节运行 默认情况下,所有的task执行完毕后,才会执行各个handles,并不是执行完某个task后,立即执行相应的handler,如果想要在执行完某些task以后立即执行对应的handlre,那么需要使用meta模块handler 写到剧本中会有单独的一个文件夹,其实和下面写的都是一样的,这里不再叙述yml 文件如下:---- hosts: nodes tasks:.原创 2020-09-23 13:57:07 · 262 阅读 · 0 评论 -
Git 日常pull and push 用法
在服务器上测试脚本时,快速pull 和push 的脚本,会省很多时间git_pull.sh#!/bin/bashset -xcd /etc/ansible/roles/Codinggit checkout .git pullsleep 1git_push.sh备注: expect linux 上默认不带,需要手动安装 yum install -y expect 即可#!/usr/bin/expect -fset -xgit add .read -p "请输..原创 2020-09-18 16:13:15 · 710 阅读 · 0 评论 -
ansible基出用法4_ansible-galaxy
ansible-galaxy 可以从网站上拉取别人写好的playbook ,也可以手动创建一个playbook,ansible-galaxy提供一个创建playbook模板的用法,就是初始化一个roles[root@ansible ansible]# ansible-galaxy init roles/redis -f- roles/redis was created successfully#查看目下下面已经有个这个目录[root@ansible ansible]# cd roles/.原创 2020-09-16 17:18:08 · 323 阅读 · 0 评论 -
ansible基出用法3_role
role 的思想:用于层次性,结构化地组织playbook。roles 能够根据层次型结构自动装载变量文件、task以及handlers 等。要使用role只需要在playbook中使用include指令即可。简单来讲,role就是通过分别将变量、文件、任务、模板以处理器放置于单独的目录中,并可以便捷地include它们的一种机制。角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中复杂场景:建议使用roles,代码复用度高变更指定主机或主机组如命名不规范维护和传承成本大.原创 2020-09-15 17:35:30 · 198 阅读 · 0 评论 -
ansible基本用法2 templates
模板templates文件文件,嵌套有脚本(使用模板变成语言编写)Jinja2语言,使用字面量,有下面形式字符串:使用单引号或双引号数字:整数,浮点数列表:[item1,item2,...]元组:(item1,item2,...)字典:{key1:value1,key2:value2,...}布尔值:true/false算术运算:+,-,*,/,//,%,**比较操作:==,!=,>,>=,<,<=逻辑运算:and,or,not流表达式:For If Whe.原创 2020-09-15 17:24:37 · 384 阅读 · 0 评论 -
ansible基本用法1_base
ansible-doc 是关于查看ansible 相关命令,日常运用的非常多 相当于man helpansible-doc 相当于man helpansible-doc --helpUsage: ansible-doc [options] [module...]Options: -h, --help show this help message and exit # shellcheck disable=SC2215 -l, --list原创 2020-09-15 17:12:43 · 331 阅读 · 0 评论 -
ansible with_item 总结
root@sam:/opt/# cat with_items.yml---- hosts: ceph01 remote_user: root gather_facts: no vars: users: alice: female bob: male tasks: - name: with_items debug: msg: "{{i...原创 2019-09-12 17:01:25 · 968 阅读 · 0 评论 -
ansible基础用法6_prompt 交互变量的使用
###交互变量的使用root@sam:/opt/# cat prompt_test.yml---- hosts: ceph01 remote_user: root vars_prompt: - name: "your_name" prompt: "what id your name" private: no - name: "your_age" ...原创 2019-09-12 09:44:52 · 2191 阅读 · 0 评论 -
Ansible debug 添加
####debug 设置root@sam:/opt/# cat mktest.yml---- hosts: ceph01 vars: testdir1: weeeeeeweokok!!! tasks: - name: touch testfile file: path: /opt/testfile state: touch###调用自定...原创 2019-09-11 16:15:05 · 1254 阅读 · 0 评论 -
ansible-playbook 变量独立出来
#ansible-playbook 变量 单独写一个文件中root@sam:/opt/playbooks/roles# cat vars/mktest_var.yml---testdir: testvar: test1 testvar1: test2nginx: nginx1: nginx80 nginx2: nginx81#在tasks 中 执行变量文件,可以...原创 2019-09-11 14:58:48 · 139 阅读 · 0 评论