top 35 puppet interview questions
Puppetは、オープンソースの構成管理ツールです。このチュートリアルでは、最もよくあるPuppetインタビューの質問と回答を提供しました。
現在のアジャイル開発環境では、開発者は1日に複数回コードを統合し、タスクを実行するために余分な時間を費やしています。
運用チームは、アプリケーション開発者と協力して、バージョン管理ツールを使用してコードを統合し、コードレビューを行って複数の開発者間で設計と実装の一貫性を維持し、テスト用にさまざまなビルドをデプロイします。これに加えて、システムとサーバーを実行状態に維持する必要があります。
さまざまなシステムやサーバーを継続的に実行すると、誤動作しやすくなります。膨大な顧客ベースを持つ大規模な組織では、インフラストラクチャの保守は困難な作業になります。
新しくインストールされたインフラストラクチャの場合、または既存のインフラストラクチャを良好な状態に維持するために、DevOpsは、新しいマシンのデフォルト構成を自動的に設定し、障害が発生したインフラストラクチャの構成をリセットして稼働状態に保つPuppetなどの構成ツールをインストールします。
学習内容:
Puppetソフトウェアツールとは
Puppetは、サーバー構成を自動化および管理するオープンソースの構成管理ツールです。ドメイン固有言語(DSL)で記述されたコードは宣言型であり、システムの望ましい状態が記述されています。このツールは、パペットマスターとそのエージェントの助けを借りて説明されているように、これらのシステムの状態の更新を自動化します。
サーバーに障害が発生した場合、コードはサーバーが以前の動作状態にロールバックするのに役立ちます。さらに、ツールはサーバーをオンデマンドで展開し、サーバーにセキュリティを課します。
この構成管理ツールを使用すると、このドメインネームシステム(DNS)ネームサーバーに加えて、ネットワークタイムプロトコル(NTP)、昇格されたアクセス特権を持つユーザーを識別するSudo特権を管理でき、ファイアウォールもそれを使用して管理できます。
最もよくある人形のインタビューの質問
Q#1)PuppetEnterpriseについて説明してください。
回答: Puppet Enterpriseは構成ツールであるか、ソフトウェアなどのインフラストラクチャ情報とその設定がシステムとサーバーに対してすでに定義されている自動コードと呼ばれ、これらをインストールできるようにします。新しいインフラストラクチャがインストールされ、定期的な検証が行われるときに環境をセットアップできます。これらのシステムとサーバーが目的の状態を維持できるようにします。
Q#2)Puppetのアーキテクチャについて説明してください。
jarファイルを開く方法windows10
回答: Puppetは、コードが何をするかを指定する宣言型プログラミングアプローチに従いますが、それを行う方法の手順は通知しません。
プルベースの展開に基づいて、エージェントノードはマスターノードで30分の定期的な間隔で、エージェントでの変更をチェックします。変更が必要な場合、エージェントはマスターから特定のコードを取得し、エージェントノードで必要なアクションを実行します。
- エージェントはファクト、つまりキーと値のデータペアの状態をマスターに送信します。状態には、システムのオペレーティングシステム、稼働時間(システムが稼働している時間)、IPアドレス(物理マシンまたは仮想マシン)が含まれます。
- マスターは、ファクト情報を使用して、エージェントの構成方法を説明するカタログをコンパイルします。カタログ、ドキュメントはエージェントのリソースの望ましい状態を説明し、マスターはエージェントを管理します。
- エージェントは、Puppetダッシュボードで表示できる構成の完了に関する情報でマスターに応答します。
Q#3)Puppetの動作について説明してください。
回答: それは次のように説明されます:
実行に必要なエンティティには、PuppetMasterとPuppetAgentが含まれます。
エージェントまたはノードは、クライアントサーバーで実行されるデーモンです。これらのサーバーには、いくつかの構成が必要であるか、Puppetを使用して管理する必要があります。このエージェントは、変更がないかマスターと定期的に構成を確認します。マスターは、さまざまなホスト用に保存されたすべての構成で構成され、マスターサーバー上でデーモンとして実行されます。エージェントとマスターはSecureSockets Layer(SSL)を介して接続されます。
ノードはマスターに接続し、マスターはどの構成とそれをノードに適用する方法を分析します。分析後、マスターはリソースと構成を収集し、カタログをコンパイルして作成し、それをノードのエージェントに送信します。構成を適用した後、エージェントはマスターサーバーに適用された構成のレポートを送信します。
Q#4)Puppetモジュールについて説明してください。
回答: モジュールは、クラス、タスク、関数、リソースプロバイダーとそのタイプ、およびファクトやカスタムタイプなどのプラグインを含むディレクトリ構造内のパペットの基本的な構成要素です。 puppetモジュールパスにモジュールをインストールする必要があります。これらのモジュールは、システムまたはサーバーへのソフトウェアのインストールや構成などのタスクを管理するために使用されます。
クリック ここに 利用可能な既製のモジュール用。
Q#5)Puppetのカタログとは何ですか?
回答: カタログは、ノードで管理する各リソースマスターの状態の詳細が記載されたドキュメントです。マスターはカタログをコンパイルし、エージェントに送り返します。ノードのエージェントから提供されたデータ、外部データ、およびパペットマニフェストに関連する詳細が含まれています。
Q#6)Puppetでクラスを定義します。
回答: クラスは、モジュール内に存在する、名前によって呼び出されるコードのブロックです。クラスは、アプリケーションの実行に必要なすべてのパッケージ、サービス、および構成ファイルの機能に使用されます。これらは、2つの可能な方法でノードのカタログに追加できます。つまり、マニフェストでこれらのクラスを宣言するか、外部ノード分類子から割り当てることです。
クラスは、次の2つの方法でマニフェストで宣言できます。
使用する 含める class_nameまたはを使用して クラス { 'クラス名' : }
パペットクラスの構造は、次の図で説明されています。
Q#7)Puppetのマニフェストとは何ですか?
回答: Rubyプログラミング言語で記述され、拡張子.ppで保存され、ターゲット内のホストマシンを作成および管理することを目的として構築されたすべてのPuppetプログラムは、マニフェストと呼ばれます。
を含む ファイル (puppetはこれらのファイルを選択してターゲットの場所に移動します)、 テンプレート (ノード上に構成ファイルを作成するために使用されます)、 ノード (クライアントノード関連の定義はノードで説明されています)、 リソース 、および クラス。
Q#8)PuppetのFacterについて詳しく説明してください。
回答: Facterは、マニフェストにKey-Value形式の値を持つ変数として存在するファクトと呼ばれるノードごとのシステム情報を検出して報告するシステムプロファイリングクロスプラットフォームライブラリです。
ファクトとファクトは、グローバル変数としてPuppetコード全体で使用でき、コード内の任意の場所で、参照なしでコード内で使用できます。 Facterは、使用されているオペレーティングシステム、SSHキー、IPアドレス、仮想マシンの検証かどうか、MACアドレスなどを含む可能性のあるファクトの詳細を識別するライブラリです。
使用されるさまざまなファクトタイプを以下に説明します。
- コアファクト: これらは、クラウド、ディスク、メモリ、OS、パス、プロセッサ、パーティションなどのリソースに関する情報です。次のコマンドを使用して、ファクトの完全なリストとそれに対応する値をKey-Value形式で表示できます。
- $実行人形の事実
- カスタムファクト: export FACTER {fact’s_name}を使用して、カスタムファクトをノードに追加できます。これらの事実は、DevOpsによる特定の要件を満たすためにカスタマイズされています。
- 外部の事実: プロビジョニング段階でファクトを適用するには、外部ファクトを使用し、AWS、OpenStackクラウドプロバイダーの仮想マシンにメタデータを適用します。
Q#9)Puppet Kickとはどういう意味ですか?
回答: 現在のバージョンで非推奨となったPuppetKickは、マスターからエージェントをトリガーするユーティリティです。 Ubuntuのマニュアルによると、「パペットキック」は、Secure Sockets Layer(SSL)証明書にアクセスし、エージェントを実行する一連のマシンに接続し、それらの構成を実行するようにトリガーするためにrootとして実行されるスクリプトです。
さらに、このコマンドはライトウェイトディレクトリアクセスプロトコル(LDAP)でも検索し、その構成に一致するホストを探し、各ホストに接続して、構成を実行するようにトリガーします。作業を開始するには、エージェントは着信接続を識別して検知し、エンドポイントを実行するためのアクセス許可にアクセスできる必要があります。
Q#10)PuppetのMCollectiveの機能について説明してください。
回答: MCollectiveまたはMarionetteCollectiveは、複雑なインフラストラクチャ、つまりオーケストレーションと呼ばれるシステムとサーバーの自動調整、管理、および配置を作成するためのフレームワークです。サーバーのクラスター上の管理タスクは、MCollectiveを使用して自動的に実行できます。
それらのコンポーネントは、サーバー、クライアント、およびミドルウェアです。 MCollectiveコマンドを使用して、ファクトの値のクエリ、サービスの開始と停止、構成ツール自体の開始、およびソフトウェアのクエリと更新を行うことができます。
Q#11)Puppetのモデル駆動型デザインの何が特別なのですか?
回答: 以前は、システム管理者は一連の手順に従って、システムとサーバーの複数のグループで構成されるインフラストラクチャを構成および管理していました。モデル駆動型の設計アプローチでは、Rubyで記述された自動コードであるPuppetには、カタログにコンパイルされたすべての構成の詳細が含まれています。
このカタログはすべてのノードに送信され、リソース、値、およびそれらの関係を共有します。障害が発生したシステムが通常の実行状態に戻るために必要な構成の変更が行われます。
Q#12)Puppetのユースケースをいくつか挙げてください。
回答: Puppetは、インフラストラクチャの展開を管理および標準化するために使用されます。
要件: Startup Companyは、インフラストラクチャをAmazonWebサーバーやGoogleCloudサービスなどのクラウドサービスプロバイダーに移動しました。エンドユーザーは、さまざまなプラットフォーム、アプリケーション、およびサービス上のシステムとサーバーの作成、標準化、および保守を担当し、Puppetをインストールして使用してタスクを容易にしたいと考えています。
シナリオ1:シナリオ1: 管理者は、新しいサーバーを構築するための構成コードで記述された手順を含むマニフェストファイルの作成など、サーバーとシステムを標準化するためのツールを利用します。
例えば、
- Linuxなどのオペレーティングシステムのインストール。
- ソフトウェアファイルライト(DUC)を使用したLinuxディスクスペースの確認。
- Javaのインストール。
- Tomcatのインストール。
- SQLサーバーをRDBMSとしてインストールします。
- ソフトウェア開発研修生のために構築およびテストされるアプリケーションのパッチをインストールします。
シナリオ2:シナリオ2: マニフェストに上記のすべてのステップをリストするファイルの作成。マニフェストファイルに自動的に記載されているステップを実行するためにpuppetコマンドを使用して実行できます。このようにして、マニフェストとコマンドを使用して新しいシステムを展開する際に、手順の標準化が行われます。
シナリオ3: 作成されたマニフェストは、APIを介してクラウドサーバーを構築するために利用されるため、すべての手動タスクを自動的に実行できます。
Q#13)「etckeeper-commit-post」および「etckeeper-commit-pre」コマンドについて説明してください。
回答: 以下は、両方のコマンドの違いです
- etckeeper-commit-post は設定ファイルに書き込まれるコマンドであり、エージェントに設定をプッシュした後に実行できます。
- etckeeper-commit-pre は設定ファイルに書き込まれるコマンドであり、エージェントに設定をプッシュする前に実行できます。
Q#14)クラス名、モジュール名、および識別子で許可されている文字をリストしますか?
回答: クラス名とモジュール名を宣言する際の許容文字は次のとおりです。
- 小文字で始める必要があります。
- 小文字、数字、およびアンダースコアを含めることができます。
- スコープ解決演算子、つまり「::」は、クラス名定義の名前空間区切り文字です。
変数名の場合、受け入れられる文字は次のとおりです。
- 大文字と小文字で始めることができます。
- 数字とアンダースコア(「_」)を含めることができます。
- 最初の文字がアンダースコアの場合、変数には独自のローカルスコープからのみアクセスできます。
- 変数では大文字と小文字が区別されます。
Q#15)貢献者ライセンス契約に署名しない場合はどうなりますか?
回答: PuppetまたはFacterへのコード貢献者のContributorLicense Agreement(CLA)に署名することは必須の条件であり、それがないとコードを受け入れることができません。 Rubyで記述されたPuppetまたはFacterコードを見つけてダウンロードするには、ユーザーはGitHubアカウントにログインして、契約に署名する必要があります。
Q#16)Puppetのcodedirの重要性と場所を説明してください。
回答: codedirは、マスターおよび適用コマンドによって使用されますが、エージェントによっては使用されません。これは、マニフェストとモジュール、グローバルモジュールディレクトリ、およびHieraデータと構成を含む環境を使用するデータとコードのメインディレクトリです。
このcodedirは、次のローカルディレクトリにあります
Windowsの場合: C: ProgramData PuppetLabs puppet etc
Linuxの場合: / etc / dir / PuppetLabs / code
Q#17)ヒエラについて説明してください。
回答: Hieraは、Key-Value形式の構成データのルックアップシステムです。 Puppetコードからデータを取得するのに役立ちます。このコードは、このシステムを利用して、カタログからのクラスの明示的なパラメータールックアップ呼び出しを行います。このシステムは、Puppetの事実を使用してデータソースを識別します。その5thversionは、JSON、YAML、およびEYAML形式のデータファイルをサポートします。
グローバル、環境、最後に構成のモジュール層から始まる3つの独立した構成層で構成データを検索します。
Q#18)Puppetの仮想リソースについて説明してください。
回答: Puppetのセットアップ中に、同じリソースが複数回使用された場合、重複したリソース宣言エラーが発生します。このツールは、仮想リソースを導入することでこの問題を解決します。仮想リソースを宣言すると、そのリソースがコレクターに利用可能になり、機能が実現されます。同様に、リソースが実現されたときの状態を管理します。
カタログには、非アクティブとマークされた未実現の仮想リソースが含まれています。仮想リソースは、クラス間の複数の条件が満たされているリソースの管理、および複数のクラスによる重複したリソースセットに適用されます。
ポートトリガーとポートフォワーディングの違い
Q#19)モジュールパスについて説明してください。
回答: マスターサービスと、Puppetマニフェストがローカルに適用されるpuppet applyコマンドを使用して、1つ以上のディレクトリのモジュール(puppet modulepathにインストールされている)からコンテンツをロードします。これは、Puppetによってモジュールが検索されたディレクトリの順序付きリストです。 modulepathリストからのこれらのディレクトリは、区切り文字で区切られます。
Linuxではコロン(:)であり、Windowsではセミコロン(;)です。
Q#20)ベースモジュールパスについて詳しく教えてください。
回答: グローバルモジュールディレクトリリストは、すべての環境に適用するための基本モジュールパスであり、基本モジュールパス設定で構成され、デフォルト値は次のとおりです。
Linuxの場合: $ codedir / modules:/ opt / puppetlabs / puppet / modules
Windowsの場合: $ codedir modules
Q#21)Puppetのキャッシュディレクトリについて説明してください。
回答: 通常の操作中のPuppetは、生成されたデータをvardirと呼ばれるキャッシュディレクトリに保存します。このデータは、分析のためにマイニングできます。エージェントと適用コマンドの場合、 キャッシュディレクトリは、次のいずれかの場所にあります。
Windowsの場合は C: programed PuppetLabs puppet cache
Linuxではそうです / opt / puppetlabs / puppet / cache または、コマンドラインで–vardirオプションを使用して、パペットキャッシュディレクトリの場所を指定します。 puppet.confの設定を変更することで、vardirファイルとディレクトリの場所を変更できます。
Q#22)Puppetの「環境」について説明してください。
回答: 環境は、モジュールとマニフェストをノードの個別のセクションまたはフォルダーに分割して、ノードが属する環境に応じてコードを取得する論理的な分散であり、puppet.confで静的に設定されます。これは、インフラストラクチャ構成を環境に分割する機能です。管理者は単一のマスターを使用して、複数の分離された構成を提供できます。
Q#23)Puppetのリソースについて説明してください。
回答: Puppet Resourcesは、システムまたはサーバーインフラストラクチャの構築、設計、および管理を使用します。このツールには、システムアーキテクチャを定義するための新しいリソースを構築および定義するための、複数のタイプのリソースがあります。マニフェストファイル(リソース宣言)のPuppetコードブロックは、宣言型モデリング言語(DML)を使用して作成されます。
を含む リソースタイプ、リソースパラメータ、属性、 そして 値。
Q#24)Puppetのリソースの種類を説明してください。
回答: Puppet管理システムコンポーネントは、リソースタイプを使用して分析されます。一般的なリソースタイプは、グループ、パッケージ、ユーザー、ファイル、およびサービスです。
リソースには、組み込みタイプとカスタムタイプの2つのタイプがあります。組み込みのリソースタイプには、グループ、パッケージ、ユーザー、ファイル、およびサービスがあります。 forge.puppet.comから参照されるpuppetモジュールで配布されるカスタムタイプを見つけることができます。
Q#25)Puppetのノード定義について説明してください。
回答: ノード定義またはステートメントは、ノードのカタログと一致するパペットコードブロックです。影響を受けるノードに特定の構成を割り当てることができます。
それらの構文は、ノードキーワード、ノード定義名、開始中括弧、クラス宣言とリソース宣言の混合、コレクター、変数、条件ステートメント、関数、および連鎖関係、最後に終了中括弧を含むクラス定義の構文に似ています。
Q#26)Puppetの機能について説明してください。
回答: Puppet関数は、カタログのコンパイル中に使用されるプラグインです。マニフェストによる関数呼び出しは、関数を実行して戻り値を作成し、副作用としてカタログを変更します。
j2eeインタビューの質問と回答pdf
パラメータを介して引数を受け入れる独自の関数を作成して、データを変換し、値を作成できます。これらは、値に解決するために呼び出されるプラグインまたは式であり、組み込みまたはカスタマイズすることができます。
Q#27)Puppetを使用してシステムを構成する例を挙げてください
回答:puppetで構成されたシステムの例を以下に示します。
- NTPサービスの管理: ネットワークタイムプロトコル(NTP)は、ノード間で時刻を同期するために、puppetを使用して管理および構成できる最も重要なサービスです。
- Sudo権限の管理: エージェントのSudoコマンドは、昇格されたアクセス権限を持つシステムユーザーを識別します。
- DNSネームサーバーファイルを管理します。 コンピューターが理解できるIPアドレスを人間が読み取れるURLにマップするネームサーバーは、この構成ツールを使用して管理できます。
- ファイアウォールルールの管理: アプリケーションポート(TCP / UDP)、ネットワークポート、IPアドレス、アクセス拒否ステートメントなどのさまざまなルールとポリシーをファイアウォールで設計でき、ツールのファイアウォールポリシーを管理できます。
Q#28)Puppetのメインマニフェストまたはサイトマニフェストについて説明してください。
回答: エージェントは、受信した情報に基づいて、ファクトと呼ばれるリソースの状態をマスターに送信します。マスターは、メインマニフェストまたはサイトマニフェストと呼ばれる単一のマニフェストファイルの形式でカタログをコンパイルします。マスターは、現在のノードの環境によって構成された.ppファイルの単一またはディレクトリのメインマニフェストファイルを利用します。これは、environment.confのマニフェスト設定を使用して、メインマニフェストを決定します。
Q#29)パペットが適用されるとはどういう意味ですか?
回答: Puppet applyは、個々のマニフェストに適用するためのスタンドアロンの実行コマンドです。このコードは、コマンドラインまたは構成ファイルを介してmodulepathに適用されると、カタログのように機能します。 「puppetapply」は、構成を適用するためのコマンドラインコードです。
Q#30)Puppetを使用している会社をリストしてください。
回答: インフラストラクチャの管理と構成にPuppetを使用している多国籍企業組織は次のとおりです。
- KPN –オランダの固定電話および移動体通信会社、オランダ
- CERN –欧州原子核研究機構
- エイゴンUK–金融サービスプロバイダー
- NYSE –ニューヨーク証券取引所
- ICE –インターコンチネンタル取引所
- ANZ銀行
- シスコ
- Splunk
- グーグル
Q#31)Puppetオープンソースをインストールする前に必要なインストール前の準備について説明してください。
回答: Puppetオープンソースをインストールする前にいくつかの準備と要件があります
- マスターとしてのサーバーの選択。
- サーバーとネットワークの準備ができており、次の手順でインストールの準備ができていることを確認します。
- 選択したサーバーの展開タイプの選択。 Docker構成ベースのスタックパペットウェアを使用するか、既にDockerを使用している場合は、クローンを作成できます。 レポ。
- docker-composeupコマンドを実行します
- エージェントのインストール
- Puppet Serverを構成したら、構成管理ツールが必要なノードマシンにエージェントパッケージをインストールする必要があります。
- オペレーティングシステムに基づいて、Linux、OS X、およびMicrosoftWindowsを選択できます。
- NTPとsudoersを使用して、構成を設計するためのPuppetコードを自動化できます。
Q#32)PuppetEnterpriseについて説明してください。
回答: Puppet Enterpriseは、ダウンタイムなしでオンプレミスおよびクラウド移行インフラストラクチャの構成とともにコンプライアンスポリシーとセキュリティを実装することにより、さまざまなチーム、システム、オンプレミス、またはクラウドサーバー上でスケーラブルです。
また、構築されたコードのステータスに関するレポート、インフラストラクチャコードに誰がどのような変更を加えたかに関する情報を生成し、インフラストラクチャで定期的に分析チェックをトリガーして、発生前の影響を評価します。
Q#33)PuppetRemediateについて説明してください。
回答: インフラストラクチャをスキャンし、脆弱性に関するデータを追跡可能および監査可能な形式で生成して、解決に優先順位を付けます。脆弱性を評価し、即時の解決が必要なタスクに優先順位を付ける修復バランスツールは、パッケージやサービスの管理、シェルスクリプトの実行などの事前に構築されたタスクを実行してそのようなタスクに参加し、問題をすぐに修正します。
Q#34)パペットリレーの動作について説明してください。
回答: Puppet Relayはインフラストラクチャを監視し、APIを使用してインシデントが発生した場合にアラートをトリガーするだけでなく、オンプレミスまたはクラウドに接続されたシステムに接続することで利用可能なDevOpsツールを実行するだけでなく、マニフェストのカタログにあるデフォルトの構成の詳細を使用してインスタンスをリセットし、最終的に通知しますインスタンスのチーム。
Q#35)ボルトとは何ですか?
回答: Boltは、以前は手動で処理されていたコンピューターシステムと関連サービスの調整、管理、セットアップを自動化し、組織のインフラストラクチャ全体を維持します。
結論
Puppetは、1台のマシンがマスターで、他のマシンがエージェントまたはノードとして機能するクライアントサーバーモデルに従う、構内および仮想インフラストラクチャ用の自動構成管理ツールです。その主な目的は、インフラストラクチャのサーバー上のリソースを管理することです。リソースは、ユーザーアカウントやソフトウェアコンテンツなどのサーバーの特性を管理するコードです。
この構成管理ツールを使用すると、サーバー構成をコードで表現して、インフラストラクチャを自動的に管理できます。
Puppetの面接の質問に関するこのチュートリアルは、今後の面接の準備に役立つと確信しています。