RedHat运维-Ansible自动化运维基础7-管理变量与模块结果

  1. Ansible变量可以存储一些值,而这些值在一个Ansible项目中,是可以复用的;

  2. Ansible变量可以存储一些值,而这些值在一个Ansible项目中,是可以复用的;

  3. Ansible变量可以存储一些值,而这些值在一个Ansible项目中,是可以复用的;

  4. Ansible中变量的命名规则是:__________________________________________________;

  5. Ansible中变量的命名规则是:__________________________________________________;

  6. Ansible中变量的命名规则是:__________________________________________________;

  7. 在playbook当中使用变量时,应该____________________________________________;

  8. 在playbook当中使用变量时,应该____________________________________________;

  9. 在playbook当中使用变量时,应该____________________________________________;

  10. 在一个play中使用变量user=joe,创建一个uid为1010的新用户;

  11. 错误示范:inventory文件的内容为:

192.168.197.128

192.168.197.130

centos8

192.168.197.128

centos7

192.168.197.130

centos:children

centos8

centos7

centos8:vars

user=Jorge Jorge

而此时playbook的内容为:


  • name: Play1

hosts: all

tasks:

  • name: Task1

ansible.builtin.user:

name: "{{ user }}"

uid: 1013

...

请问,如果此时用ansible-playbook命令运行这个playbook文件,都会成功嘛?为什么?

  1. ansible中变量的优先级是什么?

  2. ansible中变量的优先级是什么?

  3. ansible中变量的优先级是什么?

  4. 写一个playbook,使用ansible.builtin.user模块,问如何得知这个模块的执行结果呢?

  5. 使用Ansible变量,写一个playbook,部署并启动Apache HTTPD服务。

  6. 写一个playbook,确保httpd服务已开启并且开机自启,并输出模块的执行结果;

  7. 写一个playbook,确保firewalld服务已开启并且开机自启,并输出模块的执行结果;

  8. 写一个playbook,确保tree软件的最新版已经被安装,并输出模块的执行结果;

  9. 写一个playbook,使用到./vars/AZ20240526.yaml与./vars/BY20240526.yaml这两份yaml文件中定义的变量;

  10. 写一个playbook,使用到./vars/CX20240526.yaml与./vars/DW20240526.yaml这两份yaml文件中定义的变量;

  11. 写一个playbook,使用到./vars/EV20240526.yaml与./vars/FU20240526.yaml这两份yaml文件中定义的变量;

  12. 必须以字母开头,并且只能包含字母、数字、下划线

  13. 必须以字母开头,并且只能包含字母、数字、下划线

  14. 必须以字母开头,并且只能包含字母、数字、下划线

  15. 用双大括号包裹起来,此外当一个变量被用来作为值的第一个元素起始时,使用引号是强制性的。

  16. 用双大括号包裹起来,此外当一个变量被用来作为值的第一个元素起始时,使用引号是强制性的。

  17. 用双大括号包裹起来,此外当一个变量被用来作为值的第一个元素起始时,使用引号是强制性的。

  18. /* Z20240526.yaml */


  • name: Play1

hosts: all

vars:

user: joe

tasks:

  • name: Task1

ansible.builtin.user:

name: "{{ user }}"

uid: 1010

...

  1. 不是的,user变量仅针对centos8组生效,也就是仅针对192.168.197.128生效,不对centos7组生效,也就是不针对192.168.197.130生效,所以对于192.168.197.130会失效

  2. 命令行中指定的变量>playbook中vars和vars_files指定的playbook变量>host_vars目录中指定的playbook变量>inventory中为host指定的playbook变量>group_vars目录中指定的playbook变量>inventory中为group指定的playbook变量

  3. 命令行中指定的变量>playbook中vars和vars_files指定的playbook变量>host_vars目录中指定的playbook变量>inventory中为host指定的playbook变量>group_vars目录中指定的playbook变量>inventory中为group指定的playbook变量

  4. 命令行中指定的变量>playbook中vars和vars_files指定的playbook变量>host_vars目录中指定的playbook变量>inventory中为host指定的playbook变量>group_vars目录中指定的playbook变量>inventory中为group指定的playbook变量

  5. /* B20240527.yaml */


  • name: Play1

hosts: all

tasks:

  • name: Task1

ansible.builtin.package:

name: httpd

state: latest

register: install_result

  • name: Task2

ansible.builtin.debug:

var: install_result

...

  1. /* C20240527.yaml */

  • name: Play1

hosts: centos

vars:

web_pkg: httpd

web_service: httpd

firewall_pkg: firewalld

firewall_service: firewalld

rule: http

tasks:

  • name: Task1

ansible.builtin.package:

name: "{{ firewall_pkg }}"

state: latest

  • name: Task2

ansible.builtin.service:

name: "{{ firewall_service }}"

state: started

enabled: true

  • name: Task3

ansible.posix.firewalld:

service: "{{ rule }}"

permanent: true

immediate: yes

state: enabled

  • name: Task4

ansible.builtin.package:

name: "{{ web_pkg }}"

state: latest

  • name: Task5

ansible.builtin.service:

name: "{{ web_service }}"

state: started

enabled: true

  • name: Task6

ansible.builtin.copy:

content: Welcome to the Winnder King!

dest: /var/www/html/index.html

owner: root

group: root

mode: '0644'

  • name: Play2

hosts: workstation

remote_user: rhce

become: false

tasks:

  • name: Task1

ansible.builtin.uri:

url: http://192.168.197.128

status_code: 200

  • name: Task2

ansible.builtin.uri:

url: http://192.168.197.130

status_code: 200

...

  1. /* D20240527.yaml */

  • name: Play1

hosts: all

tasks:

  • name: Task1

ansible.builtin.service:

name: httpd

state: started

enabled: true

register: Task1result

  • name: Task2

ansible.builtin.debug:

var: Task1result

...

  1. /* E20240527.yaml */

  • name: Play1

hosts: all

tasks:

  • name: Task1

ansible.builtin.service:

name: firewalld

state: started

enabled: true

register: Task1result

  • name: Task2

ansible.builtin.debug:

var: Task1result

...

  1. /* F20240527.yaml */

  • name: Play1

hosts: all

tasks:

  • name: Task1

ansible.builtin.package:

name: tree

state: latest

register: Task1result

  • name: Task2

ansible.builtin.debug:

var: Task1result

...


  • name: Play1

hosts: all

vars_files:

  • AZ20240526.yaml

  • BY20240526.yaml

tasks:

  • name: Task1

ansible.builtin.debug:

var: az

  • name: Task2

ansible.builtin.debug:

var: by

...


  • name: Play1

hosts: all

vars_files:

  • CX20240526.yaml

  • DW20240526.yaml

tasks:

  • name: Task1

ansible.builtin.debug:

var: cx

  • name: Task2

ansible.builtin.debug:

var: dw

...


  • name: Play1

hosts: all

vars_files:

  • EV20240526.yaml

  • FU20240526.yaml

tasks:

  • name: Task1

ansible.builtin.debug:

var: ev

  • name: Task2

ansible.builtin.debug:

var: fu

...

相关推荐
古希腊数通小白(ip在学)2 小时前
stp拓扑变化分类
运维·服务器·网络·智能路由器
l1x1n04 小时前
Vim 编辑器常用操作详解(新手快速上手指南)
linux·编辑器·vim
12点一刻4 小时前
搭建自动化工作流:探寻解放双手的有效方案(2)
运维·人工智能·自动化·deepseek
未来之窗软件服务4 小时前
东方仙盟AI数据中间件使用教程:开启数据交互与自动化应用新时代——仙盟创梦IDE
运维·人工智能·自动化·仙盟创梦ide·东方仙盟·阿雪技术观
ajassi20005 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
o不ok!5 小时前
Linux面试问题-软件测试
linux·运维·服务器
DaxiaLeeSuper5 小时前
Prometheus+Grafana+node_exporter监控linux服务器资源的方案
linux·grafana·prometheus
尽兴-7 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
kfepiza7 小时前
Netplan 中 bridges、bonds、ethernets、vlans 之间的关系 笔记250711
linux·tcp/ip·shell
小小不董7 小时前
深入理解oracle ADG和RAC
linux·服务器·数据库·oracle·dba