Chef面试题及答案 - [ 服务器管理维护 ]

 Chef面试题及答案

Chef是一种配置管理工具,用于处理物理服务器,虚拟机和云中的机器设置。许多公司使用Chef软件来控制和管理其基础架构,包括Facebook,Etsy,Cheezburger和Indiegogo。

1. devops中的 Chef 是什么?

Chef是一种配置管理工具,用于处理物理服务器,虚拟机和云中的机器设置。
许多公司使用Chef软件来控制和管理其基础架构,包括Facebook,Etsy,Cheezburger和Indiegogo。

详细答案>>

2. 自动化中Chef是什么?

Chef是一个功能强大的自动化平台,可以将基础结构转换为代码。Chef服务器充当配置数据的集线器。Chef服务器存储食谱,应用于节点的策略以及描述由Chef客户端管理的每个注册节点的元数据。详细答案>>

3. Chef DK是什么?

Chef DK工作站是用户与Chef进行交互的位置。 在工作站上,用户使用“Test Kitchen”之类的工具编写和测试食谱,并使用“刀”和“厨师”命令行工具与“Chef”服务器进行交互。

详细答案>>

4. Chef客户端节点是什么?

Chef客户端节点是由Chef管理的计算机。 Chef客户端安装在每个节点上,用于将节点配置为所需状态。

详细答案>>

5. Chef服务器是什么?

Chef服务器充当配置数据的集线器。 Chef服务器存储cookbooks,应用于节点的策略以及描述由Chef管理的每个注册节点的元数据。 节点使用Chef客户端向Chef服务器询问配置详细信息,例如recipes,模板和文件分发。详细答案>>

6. Chef的工作站是什么?

工作站是运行Chef Development Kit(ChefDK)的计算机,用于编写cookbooks,与Chef服务器交互以及与节点交互。 工作站是大多数用户执行其大部分工作的位置,其中包括: 开发和测试cookbooks和recipes。测试Chef代码。使chef-repo与版本源控制保持同步。配置组织策略,包括定义角色和环境,并确保关键数据存储在数据包中。根据需要(或在需要时)与节点进行交互,例如执行引导操作。详细答案>>

7. chef中的Cookbooks是什么?

Cookbooks是配置和策略分发的基本单元。Cookbooks定义了一个方案,并包含支持该方案所需的所有内容: 指定要使用的资源以及应用顺序的Recipes 属性值文件分发范本Chef的扩展,例如自定义资源和库详细答案>>

8. chef repo是什么?

Chef-repo是工作站上的一个目录,其中存储: Cookbooks(包括配方,属性,自定义资源,库和模板)角色资料袋环境环境Chef-repo目录应与版本控制系统(如git)同步。 Chef-repo中的所有数据都应像源代码一样对待。详细答案>>

9. chef-client Run是什么?

“chef-client Run”是用于描述chef-client在配置节点时采取的一系列步骤的术语。

详细答案>>

10. chef验证器是什么?

chef验证器 – chef客户端对chef服务器的每个请求都必须是使用chef服务器API和私钥的经过身份验证的请求。 当chef-client向Chef服务器发出请求时,chef-client使用位于/etc/chef/client.pem中的私钥对每个请求进行身份验证。详细答案>>

11. devops中的Chef是什么?

Chef是一种配置管理工具,用于处理物理服务器,虚拟机和云中的机器设置。
许多公司使用Chef软件来控制和管理其基础架构,包括Facebook,Etsy,Cheezburger和Indiegogo。

详细答案>>

12. 自动化Chef是什么?

Chef是一个功能强大的自动化平台,可以将基础结构转换为代码。Chef服务器充当配置数据的集线器。Chef服务器存储cookbooks,应用于节点的策略以及描述由Chef客户端管理的每个注册节点的元数据。详细答案>>

13. Chef DK工作站是什么?

Chef DK工作站是用户与Chef进行交互的位置。 在工作站上,用户使用“Test Kitchen”之类的工具编写和测试食谱,并使用“刀”和“厨师”命令行工具与“厨师”服务器进行交互。

详细答案>>

14. 什么是Chef客户端节点?

Chef客户端节点是由Chef管理的计算机。 Chef客户端安装在每个节点上,用于将节点配置为所需状态。

详细答案>>

15. 什么是Chef服务器?

Chef服务器充当配置数据的集线器。 Chef服务器存储食谱,应用于节点的策略以及描述由Chef管理的每个注册节点的元数据。 节点使用Chef客户端向Chef服务器询问配置详细信息,例如配方,模板和文件分发。详细答案>>

16. Chef的工作站是什么?

工作站是运行Chef Development Kit(ChefDK)的计算机,用于编写食谱,与Chef服务器交互以及与节点交互。 工作站是大多数用户执行其大部分工作的位置,其中包括: 开发和测试食谱和食谱测试Chef代码使chef-repo与版本源控制保持同步配置组织策略,包括定义角色和环境,并确保关键数据存储在数据包中根据需要(或在需要时)与节点进行交互,例如执行引导操作详细答案>>

17. chef的Cookbooks是什么?

chef的Cookbooks是配置和策略分发的基本单元。 chef的Cookbooks定义了一个方案,并包含支持该方案所需的所有内容: 指定要使用的资源以及应用顺序的Cookbooks属性值文件分发范本Chef的扩展,例如自定义资源和库详细答案>>

18. 什么是Chef-repo?

Chef-repo是您工作站上的一个目录,其中存储: Cookbooks (包括recipes,属性,自定义资源,库和模板)角色数据袋环境Chef-repo目录应与版本控制系统(如git)同步。 Chef-repo中的所有数据都应像源代码一样对待。详细答案>>

19. 什么是主客户运行?

“chef-client run”是用于描述厨师客户在配置节点时采取的一系列步骤的术语。

详细答案>>

20. 什么是 chef 验证器?

chef验证器–chef客户端对chef服务器的每个请求都必须是使用chef服务器API和私钥的经过身份验证的请求。 当chef-client向Chef服务器发出请求时,chef-client使用位于/etc/chef/client.pem中的私钥对每个请求进行身份验证。详细答案>>

21. 为什么我们在Chef 中使用SSL证书?

在Chef 客户端和Chef 服务器之间使用SSL证书,以确保每个节点都可以访问正确的数据。

详细答案>>

22. chef的签名标头是什么?

签名标头身份验证用于验证Chef服务器与Chef服务器管理的任何节点之间的通信。

详细答案>>

23. Chef 中的SSL_CERT_FILE是什么?

使用SSL_CERT_FILE环境变量来指定Chef 客户端使用的SSL证书颁发机构(CA)捆绑包的位置。

详细答案>>

24. chef中的knife 命令是什么?

chef客户端包括两个用于管理SSL证书的knife 命令: 使用knife ssl检查来解决SSL证书问题使用knife ssl fetch将证书从Chef服务器下拉到工作站上的/.chef/trusted_certs目录。详细答案>>

25. chef中的 knife ssl check 命令是什么?

运行 knife ssl check 命令来验证SSL证书的状态,然后使用响应来帮助解决可能出现的问题。

详细答案>>

26. chef 中的 knife ssl fetch 命令是什么?

A)运行 knife ssl fetch程序,将来自Chef服务器的自签名证书下载到工作站上的/.chef/trusted_certs目录。

详细答案>>

27. chef的recipes 是什么?

chef 的 recipes 是组织内最基本的配置元素。一个recipes: 使用Ruby编写,Ruby是一种旨在以可预测的方式读取和运行的编程语言主要是使用模式(资源名称,属性值对和操作)定义的资源集合; 必要时,可以使用Ruby添加辅助代码;必须定义配置系统部分所需的所有内容必须存储在食谱中可能包含在食谱中可能使用搜索查询的结果并读取数据包(包括加密的数据包)的内容可能依赖一个(或多个)食谱可以标记节点以方便创建任意分组必须先添加到运行列表中,chef客户端才能使用它始终以运行列表中列出的顺序执行详细答案>>

28. chef resources 是什么?

文件资源用于直接在节点上管理文件。文件资源块管理节点上存在的文件。 例如,编写Apache网站的主页: file ‘/var/www/customers/public_html/index.php’ do content ‘<html>This is a placeholder for the home page.</html>’ mode ‘0755’ owner ‘web_admin’ group ‘web_admin’ end 详细答案>>

29. Chef中的apt_package resource是什么?

使用 apt_package resource 来管理Debian和Ubuntu平台上的软件包。 apt_package语法: apt_package resource 块通常通过安装来管理节点上的软件包。apt_package resource的最简单用法是: apt_package “package_name” 详细答案>>

30. Chef中的apt_preference resource 是什么?

apt_preference resource 允许创建APT首选项文件。 首选项文件用于控制在安装过程中优先考虑哪些软件包版本和源。 Chef Client 13.3的新功能 句法: apt_preference 'package_name' do action :add end 详细答案>>

31. apt_repository resource 是什么?

使用apt_repository resource来指定其他APT存储库。 添加新的存储库将立即更新APT软件包缓存。 apt_repository nginx do uri http://nginx.org/packages/ubuntu/ components [‘nginx’] end 详细答案>>

32. Chef中的apt_update resource 是什么?

使用apt_update resource来管理Debian和Ubuntu平台上的APT存储库更新。

详细答案>>

33. Chef中的bff_package resource是什么?

使用bff_package resource通过installp实用程序管理AIX平台的软件包。 从本地文件安装软件包时,必须使用remote_file或cookbook_file资源将其添加到节点。

详细答案>>

34. Chef中的cab_package resource 是什么?

使用cab_package resource 安装或删除Microsoft Windows cabinet(.cab)软件包。

详细答案>>

35. 什么是chef_gem?

使用chef_gem资源仅为专门用于chef-client的Ruby实例安装gem。从本地文件安装gem时,必须使用remote_filecookbook_file resource将其添加到节点。

详细答案>>

36. chef中的chef_acl resource是什么?

使用chef_acl资源与Chef服务器上存在的访问控制列表(ACL)进行交互。语法:在配方中使用chef_acl资源的语法如下: chef_acl 'name' do attribute 'value' # see properties section below … action :action # see actions section below end 详细答案>>

37. 什么是chef_client Chef?

Chef-client是一个在Chef管理的每个节点上本地运行的代理。 运行Chef-Client时,它将执行使节点进入预期状态所需的所有步骤,包括: 向Chef服务器注册并认证节点构建节点对象同步cookbooks通过加载每个必需的cookbooks(包括配方,属性和所有其他依赖项)来编译资源集合采取适当和必需的操作来配置节点寻找异常和通知,根据需要进行处理详细答案>>

38. 什么是chef_container资源?

Chef_container资源用于与Chef服务器上存在的容器对象进行交互。

详细答案>>

39. 什么是chef_data_bag_item?

数据袋是相关数据袋项目的容器,其中每个单独的数据袋项目都是JSON文件。 knife 可以通过指定数据袋项目的名称,然后指定数据袋项目的文件名来加载数据袋项目。 使用chef_data_bag_item资源来管理数据袋项目。 在 recipe 中使用Chef_data_bag_item资源的语法如下: chef_data_bag_item ‘name’ do attribute ‘value’ … action :action end 详细答案>>

40. 什么是chef_data_bag资源?

数据包是存储为JSON数据的全局变量,可从Chef服务器访问。 数据包被索引以进行搜索,并且可以由配方加载或在搜索过程中访问。
使用chef_data_bag资源来管理数据包。

详细答案>>

41. 什么是chef_environment资源?

chef_environment资源来管理环境。 环境是一种将组织的实际工作流映射到使用Chef服务器时可以配置和管理的工作流的方法。 每个组织都以一个称为_default环境的开头,该环境不能被修改(或删除)。 可以创建其他环境以反映每个组织的模式和工作流程。详细答案>>

42. 什么是chef_group资源?

Chef_group资源用于与Chef服务器上存在的组对象进行交互。

详细答案>>

43. Chef_handler资源是什么?

chef_handler资源用于在chef-client运行期间启用处理程序。 该资源允许将参数传递给Chef-Client,后者将自定义处理程序定义的条件应用于在Chef-Client运行期间收集的节点属性数据,然后基于该数据处理处理程序。详细答案>>

44. Chef_mirror资源是什么?

chef_mirror资源,用于将chef-repo中的对象镜像到指定位置。

详细答案>>

45. 什么是chef_node资源?

节点是指由Chef管理的任何机器-物理,虚拟,云,网络设备等。 Chef_node资源用于管理节点。

详细答案>>

46. 什么是chef_organization资源?

chef_organization资源与Chef服务器上存在的组织对象进行交互。

详细答案>>

47. 什么是chef_role资源?

chef_role资源来管理角色。 角色是一种将组织中各个节点之间存在的某些模式和过程定义为属于单个作业功能的一种方式。 每个角色都包含零个(或更多)属性和一个运行列表。 每个节点可以分配有零个(或更多)角色。详细答案>>

48. 什么是chef_user资源?

chef_user资源用于管理用户。

详细答案>>

49. 什么是Chocolatey_package资源?

Chocolatey_package资源在Microsoft Windows平台上使用Chocolatey管理软件包。 Chocolatey_package资源的最简单用法是:

chocolatey_package package_name
详细答案>>

50. 什么是cookbook_file资源?

cookbook_file资源,用于将文件从COOKBOOK_NAME/files/的子目录传输到运行Chef-Client的主机上的指定路径。语法 – cookbook_file资源块通过使用Cookbook/files目录中存在的文件来管理文件。 例如,编写Apache网站的主页: cookbook_file '/var/www/customers/public_html/index.php' do source 'index.php' owner 'web_...详细答案>>

51. 什么是cron资源?

cron资源用于管理cron条目,用于基于时间的作业调度。

详细答案>>

52. 什么是dnf_package资源?

dnf_package资源,以使用DNF为Fedora平台安装,升级和删除软件包。 dnf_package资源能够解析为程序包提供的数据,就像DNF从命令行运行时一样。 这提供了用于安装软件包的各种选项,例如最低版本,虚拟产品和库名称。详细答案>>

53. chef中的meta.rb是什么?

每个cookbook 都需要少量的元数据。 每个cookbook 目录结构的顶部都有一个名为metadata.rb的文件。 metadata.rb文件的内容向Chef服务器提供提示,以帮助确保将cookbook 正确部署到每个节点。

详细答案>>

54. metadata.rb文件中存储了哪些信息?

metadata.rb文件是: 位于cookbook目录结构的顶层。每当将cookbook上载到Chef服务器时,或者在运行knife cookbook元数据子命令并将其存储为JSON数据时进行编译。每当运行“knife cookbook”创建子命令时,由“knife”自动创建。使用文本编辑器进行编辑,然后作为食谱上传的一部分重新上传到Chef服务器。详细答案>>

55. Chef Berkshelf是什么?

Berkshelf是Chef Cookbook的依赖项管理器。 有了它,您可以轻松地依赖社区cookbooks ,并将其安全地包含在您的工作流程中。

详细答案>>

56. chef中的Berksfile是什么?

Berksfile描述了使用cookbook所需的源和依赖项集。 它与berks命令一起使用。

详细答案>>

57. chef中的Cookbook关键字是什么?

cookbook关键字允许用户定义从哪里安装Cookbook,或设置其他版本限制。 它还可以用于安装其他Cookbook,例如在测试期间使用。

详细答案>>

58. chef的kitchen(可执行)是什么?

kitchen是Kitchen的命令行工具,Kitchen-client使用的集成测试工具。 Kitchen可以使用任何测试套件组合针对任何平台组合进行测试。

详细答案>>

59. chef kitchen converge 是什么?

使用converge子命令聚合一个(或多个)实例。 实例基于.kitchen.yml文件中的平台列表。 此过程将使用omnibus安装程序将Chef-Client安装在实例上,将Cookbook文件和最小配置上传到该实例,然后使用.kitchen.yml文件中指定的运行列表和属性启动Chef-client运行。 语法: $ kitchen converge PLATFORMS (options) 详细答案>>

60. chef的kitchen destroy是什么?

使用destroy子命令删除一个(或多个)实例。 实例基于.kitchen.yml文件中的平台和套件列表。 语法–此子命令具有以下语法: $ kitchen destroy PLATFORMS (options) 详细答案>>

61. chef的kitchen diagnose是什么?

使用kitchen diagnose子命令显示一个(或多个)实例的计算出的诊断配置。 此子命令将使所有隐式配置设置都明确,因为它以YAML回显所有配置数据。 语法–此子命令具有以下语法: $ kitchen diagnose PLATFORMS (options) 详细答案>>

62. chef中的kitchen driver create是什么?

使用driver create子命令在RubyGems项目中创建一个新的Kitchen驱动程序。

语法–此子命令具有以下语法:

$ kitchen driver create NAME
详细答案>>

63. kitchen driver discover是什么?

使用驱动程序发现子命令来发现已经发布到RubyGems的Kitchen驱动程序。 此子命令将返回所有匹配kitchen-*的RubyGems。 语法–此子命令具有以下语法: $ kitchen driver discover 详细答案>>

64. chef kitchen exec是什么?

使用exec子命令在远程实例上执行命令。
语法–此子命令具有以下语法:

$ kitchen exec PLATFORMS (options)
详细答案>>

65. Chef中的kitchen init命令是什么?

使用init子命令来创建初始的Kitchen环境,包括: 创建一个.kitchen.yml文件将Kitchen附加到RubyGems文件,.gitignore和.thor创建test/integration/default目录 语法–此子命令具有以下语法: $ kitchen init 详细答案>>

66. Chef中的kitchen list命令是什么?

使用list子命令查看实例列表。 实例基于.kitchen.yml文件中的平台列表。 Kitchen将通过组合套件名称和平台名称来自动命名实例。 例如,如果套件的名称为default,平台的名称为ubuntu-10.04,则实例将为default-ubuntu-10.04。 这样可以确保Kitchen实例具有安全的DNS和主机名记录。 语法–此子命令具有以下语法: $ kitchen list PLATFORMS (options) 详细答案>>

67. Chef中的kitchen login命令是什么?

使用login子命令登录到单个实例。 实例基于.kitchen.yml文件中的平台和套件列表。 成功登录后,该实例可以与任何其他虚拟机进行交互,包括添加或删除程序包,启动或停止服务等。 这是一个沙盒。 进行必要的更改以帮助提高cookbook 测试的覆盖范围。 语法–此子命令具有以下语法: $ kitchen login PLATFORM (options) 详细答案>>

68. Chef 的kitchen setup 命令是什么?

使用setup子命令来设置一个(或多个)实例。 实例基于.kitchen.yml文件中的平台列表。 语法–此子命令具有以下语法: $ kitchen setup PLATFORMS (options) 详细答案>>

69. chef的kitchen test命令是什么?

使用test子命令测试一个(或多个)已验证的实例。 实例基于.kitchen.yml文件中的平台和套件列表。 此子命令将创建一个新实例(如有必要,清理一个先前的实例),收敛该实例,设置测试工具,使用该测试工具验证该实例,然后销毁该实例。 通常,使用test子命令来验证菜谱的端到端质量。 在正常的日常食谱开发过程中,使用converge和verify子命令。 语法–此子命令具有以下语法: $ kitchen test PLATFORMS (options) 详细答案>>

70. chef中的kitchen version命令是什么?

使用version子命令来打印Kitchen的版本。

语法–此子命令具有以下语法:

$ kitchen version
详细答案>>

71. chef 中的 handlers 是什么?

处理程序(handlers)用于识别 chef-client 运行期间出现的情况,然后告诉chef-client 如何处理这些情况。

详细答案>>

72. chef中的异常处理程序是什么?

异常处理程序用于识别导致chef客户端运行失败的情况。 通过将包含chef_handler资源的配方添加到节点的运行列表,可以在chef-client运行开始时加载异常处理程序。 异常处理程序在失败时运行对象的run_status属性返回true。详细答案>>

73. chef的start handler是什么?

启动处理程序(start handler)用于在Chef-Client运行开始时运行事件。 通过将启动处理程序添加到client.rb文件中的start_handlers设置中,或者通过在包含以下内容的配方中使用chef_gem资源来安装包含启动处理程序的gem,可以在chef-client运行开始时加载启动处理程序。详细答案>>

74. chef 中的Handler DSL是什么?

使用处理程序DSL将回调附加到事件。 如果事件在chef客户端运行期间发生,则执行关联的回调。 例如: 如果chef客户端运行失败,则发送电子邮件;如果审核运行失败,则向聊天应用程序发送通知;汇总有关在chef客户端运行到StatsD期间更新的资源的统计信息;详细答案>>

75. 什么是Knife ,在Chef中使用Knife 的目的是什么?

Knife 是一种命令行工具,可在本地Chef-repo和Chef服务器之间提供接口。 Knife 帮助用户管理: 节点数Cookbooks 和 recipes角色,环境和数据包各种云环境中的资源Chef客户端到节点上的安装在Chef服务器上搜索索引数据详细答案>>

76. 云托管平台有哪些不同的Knife插件?

有适用于云托管平台的不同的Knife插件:
knife azure, knife bluebox, knife ec2, knife eucalyptus, knife google, knife linode, knife openstack, 以及 knife rackspace。

详细答案>>

77. Chef的Ohai是什么?

Ohai是用于收集系统配置数据的工具,该数据提供给Chef客户以在cookbooks中使用。 在每次运行Chef时,Chef-client都会运行Ohai,以确定系统状态。 Ohai包括许多用于检测常见配置详细信息的内置插件,以及用于编写自定义插件的插件模型。详细答案>>

78. 为什么在Chef中使用Chef-Jenkins插件?

Chef-jenkins增加了使用Jenkins来驱动git存储库中环境的连续部署和同步的功能。

详细答案>>

79. 为什么在Chef中使用jclouds-chef插件?

jclouds-chef插件将Java和Clojure组件添加到Chef服务器API REST API。

详细答案>>

80. 为什在Chef中使用Chef-trac-hacks?

Chef-trac-hacks增加了填补Amazon Web Services(AWS)与Chef-client之间的协调空白的功能。

详细答案>>

81. Chef中的 chef-deploy插件是什么,使用它的目的是什么?

Chef-deploy添加了一个gem,其中包含用于从配方中部署Ruby Web应用程序的资源和提供程序。

详细答案>>

82. chef的Kitchenplan是什么?

Kitchenplan是用于在macOS上自动化安装和配置工作站的实用程序。

详细答案>>

83. chef的Stove是什么?

Stove是用于发布和管理cookbooks的实用程序。

详细答案>>

84. Devops有什么好处?

使用devop有很多好处,请说明您的devop体验。 技术优势: 持续交付软件不太复杂的问题需要解决更快地解决问题 商业利益(优势): 更快地交付功能更稳定的操作环境更多时间可用于增加价值(而不是修复/维护)详细答案>>

85. chef中的Vagrant是什么?

Vagrant帮助Test Kitchen与VirtualBox通信并配置诸如可用内存和网络设置之类的内容。

详细答案>>
注: 此试题仅作为相关知识水平测试,不能作为权威试题和答案。非商业转载注明原文链接即可;商业转载需本站授权同意。

相关面试题

Nagios面试题及答案   30
Chef面试题及答案   10
Kali Linux面试题及答案   29
AnthillPro面试题及答案   21
layui

微信扫码关注 考评师 公众号