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

...

相关推荐
平平无奇。。。17 分钟前
版本控制器之Git理论与实战
linux·git·gitee·github
宇宙第一小趴菜22 分钟前
11 安装回忆相册
linux·运维·centos7·yum·回忆相册·kh_mod
艾莉丝努力练剑23 分钟前
【Linux指令 (二)】不止于入门:探索Linux系统核心与指令的深层逻辑,理解Linux系统理论核心概念与基础指令
linux·服务器·数据结构·c++·centos
conkl33 分钟前
Linux IP 网络配置与管理详解
linux·网络·tcp/ip
ZhiqianXia1 小时前
Linux 内核中控制调试输出的频率和次数
linux
tjsoft1 小时前
设置 windows nginx.exe 每天 重启
运维·windows·nginx
星源~1 小时前
Linux-Ubuntu系统安装特别指导
linux·qt·ubuntu·嵌入式开发·物联网设备
读书读傻了哟2 小时前
Windows 10 使用 VMware Workstation 搭建 Ubuntu 虚拟机
linux·windows·ubuntu
isyangli_blog2 小时前
Windows & Linux 操作系统分区管理
linux·运维·服务器
K_i1342 小时前
Helm 与 Ansible 深度对比解析文档
自动化·ansible