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

...

相关推荐
mounter6258 分钟前
Linux 内核资源管理:控制组(cgroup)的演进与“策略组”新提案
linux·运维·服务器·cgroup·kernel
bksczm9 分钟前
文件在磁盘中的存储方式
linux·运维·服务器
L16247610 分钟前
OpenSSH 半自动升级方案(独立编译 + 手动迁移 + 重建 systemd 服务)
linux·服务器·ssh
半旧夜夏16 分钟前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器
Wpa.wk27 分钟前
win环境本地文件上传远程服务器(scp/远程连接工具)
运维·服务器
Soari1 小时前
SSH 主机密钥冲突
运维·网络·ssh
爱莉希雅&&&1 小时前
zabbix快速搭建和使用
android·linux·数据库·zabbix·监控
z200509301 小时前
【linux学习】深入理解linux文件I/O,从C标准库到内核态
linux·学习·操作系统
黑泽明Coding2 小时前
使用密钥登录ssh
运维·ssh
weixin_307779132 小时前
面向高性能保密计算的定制 Linux 系统构建与自动部署方案
linux·安全·网络安全·性能优化·系统安全