Ansible Playbook 标签(Tags)
- 通过标签(tags)可以选择运行或跳过playbook中的指定任务
- 在playbook为任务定义一个"标签",在通过ansible-playbook命令执行此playbook时使用 --tags 或 --skip-tags选项选择运行或跳过这个任务
- 可以使用系统特殊标签,也可以自定义标签
- 可以为同一个任务设定多个标签,也可以为不同的任务设定相同的标签
# 格式1tags: - testtag - t2# 格式2tags: testtag,t2# 格式3tags: ['testtag','t2']
特殊标签always除非--skip-tags选项指定,否则 always 标签的task会一直执行never除非--tags选项指定,否则 never 标签的task都不会执行tagged不包括never的所有标签untagged所有无标签和always标签all包括非never标签和无标签
选项# 如果执行 ansible-playbook 时不指定标签,则会执行所有非 never 标签的任务--tags "tag1,tag2..."执行指定标签和always标签的tasks--tags always只执行always标签的tasks--tags all执行所有非never标签和无标签的tasks--tags never执行always和never标签的tasks--tags tagged执行所有标签的tasks,但不包括never标签的tasks--tags untagged执行所有无标签和always标签的tasks--skip-tags "tag1,tag2..."跳过指定标签的tasks--list-tags查看playbook中哪些tags会被执行
tags示例tasks:- name: install packageyum: name={{ packagename }} state=latesttags:- always- name: copy configuration filecopy: src=https://www.huyubaike.com/root/conf/httpd.conf dest=/etc/httpd/conf/httpd.conftags: conf,http
命令示例ansible-playbook nginx_tags.yaml--tags "testtag,t2"
Ansible Playbook 调试(Debug)- Print statements during execution
- 在Ansible Playbook中常使用debug模块,可以在Playbook执行过程打印调试信息
- 结合when条件语句一起使用时,可以调试特定条件下的执行过程
# msg输出自定义信息,如果不指定或不写msg的话,默认也会输出“null”# var- 指定要打印的变量名,与msg参数互斥,二者只能有一个- var参数中的变量不需要使用{{}}表达式,而msg中需要# verbosity- debug的调试级别,默认0是全部显示,级别调整到3是忽略内容不显示- 在命令中使用-vvv参数,可以在设置为3情况下仍然显示debug内容
示例tasks:- name: Host run this taskdebug: 'msg="{{ ansible_fqdn }} and {{ ansible_default_ipv4.address }}"'# 打印必要信息when: ansible_memtotal_mb < 500 and ansible_processor_cores == 2# 结合when使用- name: all host run this taskshell: hostnameregister: info- name: Hostname is webserver01 Machie run this taskdebug: 'msg="{{ ansible_fqdn }}"'when: info['stdout'].startswith('Success')- name: Show debug infodebug: var=info verbosity=1# 打印var变量信息,调试级别为1
Ansilbe 加密解密ansible-vault 用途- encryption/decryption utility for Ansible data files
- 主要应用于包含敏感信息的场景,可以加密和解密敏感信息
- See 'ansible-vault--help' for more information on a specific command.
# ansible-vault -husage: ansible-vault [-h] [--version] [-v]{create,decrypt,edit,view,encrypt,encrypt_string,rekey}...encryption/decryption utility for Ansible data filespositional arguments:{create,decrypt,edit,view,encrypt,encrypt_string,rekey}createCreate new vault encrypted filedecryptDecrypt vault encrypted fileeditEdit vault encrypted fileviewView vault encrypted fileencryptEncrypt YAML fileencrypt_stringEncrypt a stringrekeyRe-key a vault encrypted fileoptional arguments:--versionshow program's version number, config file location, configured module search path, module location, executable location and exit-h, --helpshow this help message and exit-v, --verboseverbose mode (-vvv for more, -vvvv to enable connection debugging)See 'ansible-vault <command> --help' for more information on a specific command.
经验总结扩展阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 自动化专业有必要转计算机吗 未来就业前景好吗
- 机械自动化属于自动化类吗 就业方向及前景怎么样
- 自动化类和计算机类哪个好 发展前景怎么样
- 自动化专业属于计算机大类吗 都学什么课程
- 自动化专业是哪个大类 都学什么课程
- 自动化专业和计算机专业区别 哪个专业前景好
- 小样本利器4. 正则化+数据增强 Mixup Family代码实现
- 从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
- ansible使用临时命令通过模块来执行任务
- Ansible 批处理实战