测验:清单与 ad-hoc
[prod:children] 段中可以包含什么?
- 主机和组都可以
- 只能定义变量
- 只能包含主机名
- 只能包含组名
all:vars 中有 ansible_user=root,web:vars 中有 ansible_user=deploy,而 web1 的主机变量为 ansible_user=admin。连接 web1 时会使用哪个用户?
- deploy
- 定义冲突并报错
- admin
- root
某次部署希望只排除 web2。最合适的方法是什么?
- 另建一个不含 web2 的清单文件,并用该文件运行
- 暂时从清单中删除 web2 行,部署结束后再恢复
- 使用
--limit '!web2'等运行选项缩小目标范围 - 暂时停止 web2 的 sshd,让连接失败后自然跳过
关于 ansible -m ping 的作用,哪一项正确?
- 只通过套接字连接检查目标的 TCP 22 端口是否开放
- 检查控制节点自身的配置和状态,确认是否已准备好运行
- 向目标发送 ICMP 回显请求并检查是否收到响应
- 通过 SSH 连接,在远程运行 Python 模块并接收 pong
关于 INI 清单与 YAML 清单的关系,哪一项正确?
- 两者只是格式不同,解析结果都是相同结构的数据
- 只有 YAML 能表示组层级
- INI 无法包含变量
- INI 已经过时,在新版本中无法运行
清单表现异常时,首先应该做什么?
- 使用
-vvv运行 Playbook,并浏览输出中的目标主机列表 - 使用
ansible-inventory --list检查解析结果 - 删除清单文件,并从头照着可用示例格式重写
- 先通过 SSH 直接连接目标主机,确认连接本身是否正常