大热的DevOps&配置管理,这几道题面试一定会被问到(一)

发表于:2021-9-26 09:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:CODING    来源:思否

#
DevOps
  现在让我们来看看您对配置管理的了解程度。

  Q1、配置管理流程的目标是什么?
  配置管理(CM)的目的是通过使开发或部署过程可控且可重复,来确保产品或系统在其整个生命周期中的完整性,从而创建更高质量的产品或系统。CM 流程允许有序管理系统信息和系统更改,以便:
  ·调整能力
  ·提高性能
  ·提升可靠性或可维护性
  ·延长寿命
  ·降低成本
  ·降低风险
  ·及时纠正缺陷

  Q2、IT 资产管理和配置管理有什么区别?IT 资产和配置有什么区别?
  以下是资产管理和配置管理之间的一些差异:

  接下来解释资产。它具有财务价值以及附加的折旧率。IT 资产只是它的一个子集。任何具有成本的组织都将其用于资产价值计算和税收计算中的相关收益归属于资产管理,此类项目称为资产。
  另一方面,配置项可能有也可能没有分配给它的财务值,它不会有任何与之相关的折旧,因此它的生命不依赖于其财务价值,而是取决于该项目对该组织的过时时间。
  现在,可以举例说明两者之间的相似性和差异:
  1)相似性:
  服务器 - 它既是资产又是配置项。
  2)差异:
  建筑 - 这是一种资产,但不是配置项。
  文档 - 它是配置项但不是资产

  Q3、您对“基础设施即代码”有何看法?它如何适用于 DevOps 方法?它的目的是什么?
  基础设施即代码(IAC)是一种 IT 基础架构,运维团队可以使用它来自动管理和通过代码进行配置,而不是通过手工的过程。
  更快部署的公司也将基础设施视为软件:可以使用 DevOps 工具和流程管理的代码。利用这些工具,您可以更轻松、快速、安全、可靠地更改基础架构。

  Q4、Puppet、Chef、SaltStack 和 Ansible 中哪一个您认为是最好的配置管理(CM)工具?为什么?
  这取决于研发组织的需求,因此需要在所有这些工具上提到以下几点:
  Puppet 是最古老,最成熟的 CM 工具。Puppet 是一个基于 Ruby 的配置管理工具,虽然它有一些免费功能,但 Puppet 大部分很棒的内容仅在付费版本中可用。不需要大量额外功能的组织会发现 Puppet 很有用,但那些需要更多自定义的组织可能需要升级到付费版本。
  Chef 是用 Ruby 编写的,因此可以由熟悉该语言的人进行定制。它还包括免费功能,如果需要,还可以从开源版本升级到企业级。最重要的是,它是一个非常灵活的产品。
  Ansible 是一个非常安全的选项,因为它使用 Secure Shell。它是一个简单的工具,但除了配置管理之外,它还提供了许多其他服务。它非常容易学习,因此非常适合那些非专职 IT 但仍需要配置管理工具的人员。
  SaltStack 是基于 python 的开源 CM 工具,适用于大型企业,但其学习曲线相当低。

  Q5、什么是 Puppet?
  它是一个配置管理工具,用于自动执行管理任务。Puppet 有一个 Master-Slave 架构,其中 Slave 必须首先向 Master 发送证书签名请求,Master 必须签署该证书才能在 Puppet Master 和 Puppet Slave 之间建立安全连接,如下图所示。Puppet Slave 向 Puppet Master 发送请求,然后 Puppet Master 向 Slave 推送配置。请参阅下图解释上述说明。

  Q6、在客户端使用 Puppet Master 进行身份验证之前,需要对其证书进行签名和接受。您将如何自动完成这项任务?
  最简单的方法是在 puppet.conf 中启用自动签名。请注意这是一个安全风险。如果您仍想这样做:
  为您的 puppet master 建立防火墙 - 将端口 tcp / 8140 限制为您信任的网络。
  为每个“信任区域”创建 puppet master,并且只在该 puppet master 清单中包含可信节点。
  切勿使用完整的通配符,例如 * 。

  Q7、描述通过 Puppet 自动化流程所取得的最重要的收益
  对于这个答案,我建议您解释一下您过去使用 Puppet 的经历。可以参考以下示例:
  我使用 Puppet 自动配置和部署 LinuxWindows 机器。除了将处理时间从一周缩短到 10 分钟之外,我还使用了角色和配置文件模式,并在 README 中记录了每个模块的用途,以确保其他人可以使用 Git 更新模块。我写的模块仍然在使用,但是我的团队成员和社区成员对它们进行了改进。

  Q8、您使用哪些开源或社区工具来使 Puppet 更强大?
  在这里,您需要提及工具以及如何使用这些工具使 Puppet 更强大。以下是一个供您参考的示例:
  我们通过项目管理工具进行更改请求,通过内部流程管理请求,然后我们使用 Git 和 Puppet 的 Code Manager 应用程序来管理 Puppet 代码。此外,我们使用测试框架通过 Jenkins 中的持续集成流水线运行所有 Puppet 更改。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号