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

...

相关推荐
小马爱打代码3 分钟前
125个Docker的常用命令
运维·docker·容器
某风吾起5 分钟前
Linux 消息队列的使用方法
java·linux·运维
胡八一34 分钟前
解决docker: ‘buildx‘ is not a docker command.
运维·docker·容器
北 染 星 辰1 小时前
Python网络自动化运维---用户交互模块
开发语言·python·自动化
Golinie1 小时前
【C++高并发服务器WebServer】-2:exec函数簇、进程控制
linux·c++·webserver·高并发服务器
Rhys..1 小时前
Jenkins pipline怎么设置定时跑脚本
运维·前端·jenkins
Icoolkj1 小时前
微服务学习-Nacos 注册中心实战
linux·学习·微服务
老王聊主机2 小时前
2025年华为云一键快速部署幻兽帕鲁联机服务器教程
运维·服务器·华为云
qq_243050792 小时前
Netmask:网络掩码生成和转换程序!全参数详细教程!Kali Linux 教程!黑客渗透测试!
运维·网络·web安全·网络安全·黑客·渗透测试·kali linux
Moniicoo2 小时前
Linux中关于glibc包编译升级导致服务器死机或者linux命令无法使用的情况
linux·运维·服务器