Ansible インタビューのトップ 19 の質問と回答 (PDF)
ここでは、夢の仕事に就くための、新人および経験豊富な候補者向けの Ansible 面接の質問と回答を紹介します。
新人向けの Ansible 面接の質問
1) Ansible とは何ですか?
Ansible は構成管理システムです。 インフラストラクチャとアプリケーションのセットアップと管理に使用されます。 これにより、ユーザーは次を使用してアプリケーションを展開および更新できます。 SSHリモート システムにエージェントをインストールする必要はありません。
👉 無料 PDF ダウンロード: Ansible インタビューの質問と回答 >>
2) Ansible の用途は何ですか?
Ansible IT インフラストラクチャを管理し、ソフトウェア アプリをリモート ノードに展開するために使用されます。
たとえば、Ansible を使用すると、XNUMX つのコマンドで多くのノードにアプリケーションとしてデプロイできます。 ただし、そのためには、Ansible スクリプトを理解するためのプログラミングの知識が必要です。
3) Ansible Galaxy とは何ですか?
Ansible は、ansible コマンドを使用して、コマンドラインから構成されたクライアントと通信できます。 また、ansible-playbook コマンドを使用して構成を自動化することもできます。 ベース ディレクトリ構造を作成するには、Ansible-galaxy として知られる Ansible にバンドルされているツールを使用できます。
コマンド:
$ ansible-galaxy init azavea. packer
azavea.packer が正常に作成されました
4) 継続的デリバリーとは何ですか?
継続的デリバリーとは、ソフトウェアが開発されるとすぐに配信する方法です。 この方法では、バージョン管理システムを使用する必要があります。 ソフトウェアは、稼働中の運用システムで常に更新されます。
5) Ansible でシェル環境変数にアクセスする方法は何ですか?
Ansible では、既存の変数にアクセスしたい場合、ユーザーは「env」検索プラグインを使用する必要があります。 たとえば、管理マシン上の Office 環境の値にアクセスするには、次のようにします。
次のコードを記述する必要があります:
--- # ... vars: local_home: "{{ lookup('env','Office') }}" I {{ ansible_env.SOME_VARIABLE }}
6) 変数名にアクセスするにはどのようなコードを記述する必要がありますか?
変数名は、次の方法を使用して追加することで構築できます。
{{ hostvars[inventory_hostname]['ansible_' + which_interface]['ipv4']['address'] }}
hostvars は変数の名前空間全体の辞書であるため、hostvars の使用方法は重要です。 「inventory_hostname」変数は、ホスト ループで調べている現在のホストを指定します。
7) カウセイを無効にする方法を説明してください。
cowsay がインストールされている場合は、Ansible 内でプレイブックを実行し、次のオプションを使用して coway を無効にすることができます。
- カウセイをアンインストールする
- 環境変数の値を設定する
エクスポート ANSIBLE_NOCOWS=1
8) ファイルをターゲットホストに再帰的にコピーする方法を説明してください。
「コピー」モジュールには再帰パラメータがあります。ただし、多数のファイルに対してより効率的に実行したい場合は、「同期」モジュールが最適です。
9) Ansible のドキュメントへの変更を送信するにはどうすればよいですか?
Ansible のドキュメントはプロジェクトの git リポジトリに保存されます。 貢献するための完全な手順が含まれており、ドキュメントに記載されています。
10) コンテンツを再利用/再配布可能にする最良の方法は何ですか?
「ロール」に関するすべての内容は、プレイブックのドキュメント セクションで読むことができます。 これは、プレイブックのコンテンツを自己完結型にし、他の Ansible ユーザーと共有できるようにするのに役立ちます。
経験豊富なプロフェッショナル向けの Ansible 面接の質問と回答
11) Ansible Tower とは何ですか?
Ansible tower は、Ansible を非常に使いやすくするツールです。 タスク自動化のハブとして機能します。 タワーは 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') }}” |
文字列の追加を許可します | 環境変数を設定するには、高度な Playbook セクションを参照する必要があります。 |
変数名に使用する IPv4 アドレス タイプ ipv4 アドレスを使用します。 | リモート環境変数の場合は、{{ ansible_env.SOME_VARIABLE }} を使用します。 |
14) アドホックコマンドとは何ですか?
アドホック コマンドは、プレイブックを作成せずにホスト上でアクションを実行する方法と考えることができます。 たとえば、特定のグループ (Web サーバー) 内のすべてのホストを再起動したい場合です。 その後、プレイブックを作成したり、XNUMX 回限りのアドホック コマンドを実行したりできます。
15) Ansible の事実を説明する
Ansible ファクトは、Ansible がホストに関する情報を取得し、簡単にアクセスできるように変数に格納する方法と考えることができます。 事前定義された変数に保存されたこの情報は、プレイブックで使用できます。 ファクトを生成するために、ansible はセットアップ モジュールを実行します。
16) ホストのすべての変数を確認するにはどうすればよいですか?
hostvars 変数を使用してそれらを確認できます。 これにより、ホスト名をキーとしてホスト変数が保存されます。 たとえば、localhost に定義された変数を確認するには、次のコマンドを実行します。
ansible -m debug -a "var=hostvars[inventory_hostname]"
17) ansible のモジュールについて説明する
Ansible のモジュールはべき等です。RESTful サービスの観点から、操作がべき等であるためには、クライアントは Ansible のモジュールを使用して同じ結果を実行できます。複数の同一リクエストは 1 つのリクエストになります。
Ansible には XNUMX つの異なるタイプのモジュールがあります。
- コアモジュール
- 追加モジュール
コアモジュール
Ansible チームはこれらのタイプのモジュールを保守しており、常に Ansible ソフトウェアとともに出荷されます。 また、すべてのリクエストに対して、「エクストラ」リポジトリ内のリクエストよりも高い優先順位が与えられます。
追加モジュール:
これらのモジュールは現在 Ansible にバンドルされていますが、将来的には個別に利用できるようになるかもしれません。また、これらは主に Ansible コミュニティによってメンテナンスされています。これらのモジュールは引き続き使用できますが、問題やプル リクエストに対する応答率が低くなる可能性があります。
18) プレイブックとロールをいつテストする必要がありますか?
Ansible では、テストは新しい Playbook または既存の Playbook に追加できます。 したがって、ほとんどのテストジョブでは毎回クリーンなホスティングが提供されます。 このテスト方法を使用すると、コードの変更はほとんど、またはまったく必要ありません。
19) Ansible で空のファイルを作成する方法について議論する
ファイルを作成して空にするには、所定の手順に従う必要があります。
ステップ 1. 空のファイルをファイル ディレクトリに保存する
ステップ 2. それをリモートホストにコピーします。
これらの面接の質問は、あなたの活力(口頭)にも役立ちます