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

...

相关推荐
什么鬼昵称22 分钟前
Pikachu- Over Permission-垂直越权
运维·服务器
码农小白34 分钟前
linux驱动:(22)中断节点和中断函数
linux·运维·服务器
4647的码农历程35 分钟前
Linux网络编程 -- 网络基础
linux·运维·网络
醉颜凉1 小时前
银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
运维·安全·操作系统·国产化·麒麟·kylin os·安全授权认证
C++忠实粉丝2 小时前
Linux环境基础开发工具使用(2)
linux·运维·服务器
康熙38bdc2 小时前
Linux 环境变量
linux·运维·服务器
存储服务专家StorageExpert2 小时前
DELL SC compellent存储的四种访问方式
运维·服务器·存储维护·emc存储
hakesashou3 小时前
python如何比较字符串
linux·开发语言·python
Ljubim.te3 小时前
Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】
linux·学习·centos
cooldream20093 小时前
Linux性能调优技巧
linux