2019 DevOpsチーム不可欠なインタビューの質問 - 構成管理の記事

オリジナル住所:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3
原作者:Saurabh Kulshresthaは
6月翻訳:コーディングを戴维奥普斯

今度は、構成管理の知識を見てみましょう。

Q1、ターゲットの構成管理プロセスは何ですか?

目的の構成管理(CM)は、より高い品質の製品またはシステムを作成、そのライフサイクルを通じて、製品またはシステムの完全性を保証するために制御され反復可能なプロセスの開発や配備を介してです。CMプロセスがために、情報システムおよびシステムの変更の規則的な管理を可能にします。

  • 調整する能力
  • パフォーマンスを向上させます
  • 信頼性や保守性を向上させます
  • の寿命を延ばします
  • コストを削減
  • リスクを減らします
  • 速やかに欠陥を修正します

Q2、IT資産管理および構成管理の違いは何ですか?IT資産と構成の違いは何ですか?

ここでは資産管理および構成管理の間にいくつかの違いは次のとおりです。

絵

次の説明資産。これは、金融資産価値だけでなく、追加の減価償却率を持っています。IT資産が、それは一部です。どのような組織は、コストが資産管理、資産と呼ばれるこのようなプロジェクトに起因する資産および関連所得税の計算の値を計算するのに使用されますがあります。

一方、設定項目は、またはそれに割り当てられた財務的価値を持っていない可能性があり、それが関連する減価償却費を持っていないので、それはその財務的価値に依存しない人生だが、プロジェクトの組織に依存します時代遅れの時間。

今、私たちは2間の相違点と類似点を説明することができます:
1)類似性:
サーバ-それは資産とCIの両方です。
2)差:
建物-これは、資産が、アイテムを構成しません。
ドキュメント-それは、資産の設定項目ではありません

Q3、「コードなどのインフラストラクチャ」のビューとは何ですか?それはどのようにDevOpsチームの方法にも適用されますか?その目的は何ですか?

コード(IAC)などのインフラストラクチャではなく、手動プロセスを通してよりも、自動的にコードを管理し、構成するためにそれを使用することができ、ITインフラストラクチャ、運用、保守チームです。

同社はまた、より高速なインフラストラクチャ・ソフトウェアとして扱わ展開する:あなたはDevOpsチームのツールとプロセスの管理コードを使用することができます。これらのツールを使用して、あなたは、より簡単かつ迅速に、安全で信頼性の高いインフラストラクチャの変更をすることができます。

あなたが考える1 Q4、パペット、シェフ、SaltStackとAnsibleは、最適な構成管理(CM)ツールですか?なぜ?

これは、R&D組織のニーズに依存し、したがって、これらのツールのすべてに、以下の点に言及する必要があります
人形は、最も古く、最も成熟したCMツールです。それはいくつかの無料の機能を持っていますが、人形偉大なコンテンツのほとんどは有料版でのみ利用可能ですが、人形は、ルビーベースの構成管理ツールです。組織の多くは便利な追加機能の人形を見つける必要とするが、これらの組織は、より多くのカスタマイズを必要とする有料版にアップグレードする必要があるかもしれません。

シェフはRubyで書かれている、それは言語に精通している者がカスタマイズすることができます。必要に応じ、またオープンソース版からエンタープライズレベルにアップグレードすることができればそれはまた、無料の機能が含まれています。最も重要なのは、それは非常に柔軟な製品です。

それはセキュアシェルを使用しているためAnsibleは非常に安全なオプションです。それは簡単なツールですが、構成管理に加えて、それはまた、他の多くのサービスを提供しています。これらの非フルタイムのITスタッフに最適です、学ぶことは非常に簡単ですが、それでも構成管理ツールが必要です。

SaltStackは、大企業のためのPythonベースのオープンソースのCMツールですが、学習曲線が非常に低いです。

Q5、人形は何ですか?

管理タスクを自動化するための構成管理ツールです。スレーブがマスタに証明書署名要求を送信する必要がありパペットマスタースレーブアーキテクチャは、あります、マスターは以下に示すように、パペットマスターパペットスレーブ間の安全な接続を確立するための証明書に署名する必要があります。人形スレーブは、操り人形マスターにリクエストを送信し、操り人形マスタースレーブをプッシュするように構成されました。図は、上記の手順で説明を参照してください。

絵

クライアントはパペットマスターを使用して認証される前に、Q6は、あなたが署名し、その証明書を受け取る必要があります。どのようにこの作業を自動化するのだろうか?

最简单的方法是在 puppet.conf 中启用自动签名。请注意这是一个安全风险。如果您仍想这样做:

  • 为您的 puppet master 建立防火墙 - 将端口 tcp / 8140 限制为您信任的网络。
  • 为每个“信任区域”创建 puppet master,并且只在该 puppet master 清单中包含可信节点。
  • 切勿使用完整的通配符,例如 * 。

Q7、描述通过 Puppet 自动化流程所取得的最重要的收益

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

Q8、您使用哪些开源或社区工具来使 Puppet 更强大?

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

Q9、什么是 Puppet 清单?

首先定义清单。每个节点(或 Puppet Agent)都在 Puppet Master 中获得了用 Puppet 语言编写的配置细节。这些细节用 Puppet 可以理解的语言编写,称为 Manifest。它们由 Puppet 代码组成,其文件名使用 .pp 扩展名。

现在举个例子:您可以在 Puppet Master 中编写一个清单,用于创建文件并在连接到 Puppet Master 的所有 Puppet Agent(Slaves)上安装 apache。

Q10、什么是 Puppet 模块以及它与 Puppet Manifest 的不同之处?

Puppet 模块是清单和数据(例如事实,文件和模板)的集合,它们具有特定的目录结构。模块对于组织 Puppet 代码很有用,因为它们允许您将代码拆分为多个清单。使用模块来组织几乎所有的 Puppet 清单是最佳实践。

Puppet 程序称为 Manifest,它由 Puppet 代码组成,其文件名使用 .pp 扩展名。

Q11、什么是 Puppet 的 Facter?

您应该回答 Facter 在 Puppet 中做了什么:“Facter 收集有关 Puppet Agent 的基本信息(事实),如硬件细节,网络设置,操作系统类型和版本,IP 地址,MAC 地址,SSH 密钥等等。这些 facts 随后会在 Puppet Master 的清单中作为变量提供。”

Q12、什么是 Chef?

它是一个强大的自动化平台,可将基础架构转换为代码。Chef 是一个工具,您可以编写用于自动化流程的脚本,流程涵盖几乎与 IT 相关的任何事情。

Chef 的架构包括:

  • Chef Server:Chef Server 是基础架构配置数据的中央存储。Chef Server 存储配置节点所需的数据并提供搜索功能,并允许您根据数据动态驱动节点配置。
  • Chef Node:Node 是使用 Chef-client 配置的任何主机。Chef-client 在您的节点上运行,与 Chef Server 联系以获取配置节点所需的信息。由于 Node 是运行 Chef-client 软件的机器,因此节点有时被称为“客户端”。
  • Chef Workstation:Chef Workstation 是您用来修改 cookbook 和其他配置数据的主机。

絵

Q13、Chef 的资源是什么?

资源代表一个基础架构及其所需的状态,例如应安装的软件包,应运行的服务或应生成的文件。
资源的功能包括以下几点:

  • 描述配置项的所需状态。
  • 声明将该项目置于所需状态所需的步骤。
  • 指定资源类型,例如包,模板或服务。
  • 根据需要列出其他详细信息(也称为资源属性)。
  • 被分类为配方(recipes),来描述工作配置。

Q14、Chef 的 Recipe 是什么?

Recipes 描述了特定配置或策略的资源集合,描述了配置系统部分所需的一切。
Recipes 的功能:

  • 安装和配置软件组件。
  • 管理文件。
  • 部署应用程序。
  • 执行其他 recipe。

Q15、Cookbook 与 Recipe 有何不同?

可以简单地说,“Recipe 是一组资源,主要配置软件包或某些基础架构。Cookbook 将 recipe 和其他信息整合在一起,比单独使用 recipe 更易于管理。”
译者注:cookbook 类似于食谱集;recipe 类似于食谱。

Q16、如果未在 Chef 中指定 Resource 操作,会发生什么?

当您未指定资源的操作时,Chef 会使用默认操作。
现在用一个例子解释一下,如下资源:

file ‘C:UsersAdministratorchef-reposettings.ini’ do
content ‘greeting=hello world’
end

与下面的资源相同:

file ‘C:UsersAdministratorchef-reposettings.ini’ do
action :create
content ‘greeting=hello world’
end

因为:创建是文件资源的默认操作。

Q17、什么是 Ansible 模块?

模块被认为是 Ansible 的工作单元。每个模块大多是独立的,可以用标准的脚本语言编写,如 Python、Perl、Ruby、bash 等。模块的一个重要属性是幂等性,这意味着即使一个操作重复多次(例如从停电中恢复),它会始终将系统置于同一状态。

Q18、プレイブックのAnsibleは何ですか?

プレイブックはAnsible構成、展開、およびオーケストレーション言語です。彼らはあなたがポリシーを実装したい、または一般的なITプロセスは一連のステップで説明されているリモートシステムを記述することができます。人間が読めるテキストと基本的な言語発達のために設計されたプレイブック。レベルに基づき、リモートコンピュータの構成と展開を管理するためのプレイブックを使用することができます。

Q19は、どのようにすべてのansible_変数のリストを表示するには?

Ansibleのデフォルトはマシン「事実」の管理に関する情報を収集し、あなたがプレイブックおよびテンプレートでこれらの「事実」にアクセスすることができます。一時的な操作の実行としての「設定」モジュールで使用可能なすべての「事実」のコンピュータのリストを確認します。

Ansible -m setup hostname

これは、特定のホストのすべてのディレクトリの利用可能な「事実」をプリントアウトします。

おすすめ

転載: www.cnblogs.com/codingdevops/p/11571076.html