19 个最热门的 Ansible 面试问题及答案 (PDF)

以下是 Ansible 面试问题和答案,可以帮助新手和有经验的应聘者获得理想的工作。

 

面向应届毕业生的 Ansible 面试问题

1)什么是 Ansible?

Ansible 是一个配置管理系统。它用于设置和管理基础架构和应用程序。它允许用户使用 SSH的,而无需在远程系统上安装代理。

👉 免费 PDF 下载: Ansible 面试问题与答案 >>


2)Ansible 有什么用?

Ansible 用于管理 IT 基础设施并将软件应用程序部署到远程节点。

例如,Ansible 允许你使用一个命令将应用程序部署到多个节点。但是,为此,需要一些编程知识来理解 ansible 脚本。


3)什么是 Ansible Galaxy?

Ansible 可以使用 ansible 命令从命令行与已配置的客户端进行通信。它还允许您使用 ansible-playbook 命令自动执行配置。要创建基本目录结构,您可以使用与 Ansible 捆绑在一起的工具,即 ansible-galaxy。

命令:

$ ansible-galaxy init azavea. packer

azavea.packer 已成功创建


4)什么是持续交付?

持续交付是一种在软件开发完成后立即交付的做法。在这种方法中,我们需要使用版本控制系统。软件在实时生产系统中不断更新。


5)在 Ansible 中访问 shell 环境变量的方式是什么?

在 Ansible 中,如果要访问现有变量,用户需要使用 'env' 查找插件。例如,要访问管理计算机上的 Office 环境的值:

您需要编写以下代码:

---
# ...
vars:
local_home: "{{ lookup('env','Office') }}"
I
{{ ansible_env.SOME_VARIABLE }}

Ansible 面试问题与答案


6)访问变量名需要编写什么代码?

可以使用以下方法通过添加来构建变量名:

{{ hostvars[inventory_hostname]['ansible_' + which_interface]['ipv4']['address'] }}

使用 hostvars 的方法很重要,因为它是变量整个命名空间的字典。'inventory_hostname' 变量指定您在主机循环中查看的当前主机。


7)解释一下如何禁用cowsay?

如果安装了 cowsay,那么在 Ansible 内部执行剧本时,您可以使用以下选项禁用 coway:

  1. 卸载cowsay
  2. 设置环境变量的值

导出 ANSIBLE_NOCOWS=1


8)解释如何将文件递归复制到目标主机?

“复制”模块有一个递归参数。但是,如果你想让这个模块对大量文件执行得更有效率,那么“同步”模块是你的最佳选择。


9)如何向 Ansible 中的文档提交更改?

Ansible 的文档保存在项目 git 存储库中。它包含完整的贡献说明,可在文档中找到。


10)使内容可重复使用/可重新分发的最佳方法是什么?

您可以在剧本文档部分阅读有关“角色”的所有内容。这有助于使剧本内容独立并可与其他 ansible 用户共享。


针对资深专业人士的 Ansible 面试问题和答案

11)什么是 Ansible Tower?

Ansible Tower 是一款让 Ansible 非常易于使用的工具。它充当任务自动化的枢纽。该 Tower 可免费使用至 10 个节点。


12)检查主机定义的库存变量的方法是什么?

为此请使用以下命令:

ansible -m debug -a "var=hostvars['hostname']" localhost

13) 说明变量名和环境变量之间的区别。

变量名称 环境变量
可以通过添加字符串来构建。 要访问环境变量,您需要访问现有变量。
{{ hostvars[inventory_hostname][‘ansible_’ + which_interface][‘ipv4’][‘address’] }} #…vars: local_home: “{{ lookup('env','HOME') }}”
允许添加字符串 要设置环境变量,我们需要查看高级剧本部分。
Ipv4 地址类型用于变量名称我们使用 ipv4 地址。 对于远程环境变量,使用 {{ ansible_env.SOME_VARIABLE }}

14)什么是临时命令?

您可以将临时命令视为一种无需编写剧本即可在主机上执行操作的方法。例如,如果我们想重新启动特定组(Web 服务器)中的所有主机。那么您可以编写剧本或简单地运行一次性临时命令。


15)解释 Ansible 事实

您可以将 ansible 事实视为 ansible 获取有关主机的信息并将其存储在变量中以便于访问的一种方式。存储在预定义变量中的这些信息可在剧本中使用。为了生成事实,ansible 运行设置模块。


16) 如何查看主机的所有变量?

您可以使用 hostvars 变量查看它们。这会存储主机变量,并以主机名作为键。例如,要查看为 localhost 定义的变量,您可以运行;

ansible -m debug -a "var=hostvars[inventory_hostname]"

17)解释 ansible 中的模块

Ansible 中的模块是幂等的。从 RESTful 服务的角度来看,为了使操作具有幂等性,客户端可以使用 Ansible 中的模块执行相同的结果。多个相同的请求变为单个请求。

Ansible 中有两种不同类型的模块:

  • 核心模块
  • 附加模块

核心模块

Ansible 团队负责维护这些类型的模块,并且它们将始终随 Ansible 软件一起提供。它们还将为所有请求提供比“extras”存储库中更高的优先级。

附加模块:

这些模块目前与 Ansible 捆绑在一起,但将来可能会单独提供。它们也主要由 Ansible 社区维护。这些模块仍然可用,但对问题和拉取请求的响应率会较低。


18)你应该何时测试剧本和角色?

在 ansible 中,测试可以添加到新的 Playbook 中,也可以添加到现有的 Playbook 中。因此,大多数测试工作每次都提供干净的托管。通过使用这种测试方法,您几乎不需要更改任何代码。


19)讨论使用 Ansible 创建空文件的方法

要创建清空文件,您需要遵循给定的步骤。

步骤 1. 将一个空文件保存到文件目录中

步骤2.将其复制到远程主机。

这些面试问题也会对你的口试有帮助