簡単なコマンドで Ansible をテスト
このステップでは、ローカルシステムに対して簡単なコマンドを実行して、Ansible のインストールをテストします。プロジェクトディレクトリに移動し、事前設定されたインベントリファイルを使用して、Ansible アドホックコマンドを実行します。
プロジェクトディレクトリに移動し、基本的な ping 機能テストを行います。
cd /home/labex/project
ansible localhost -m ping
ping モジュールは、実際には ICMP パケットを送信しません。代わりに、Ansible がターゲットに接続して Python コードを実行できることを検証します。成功した応答は次のようになります。
localhost | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
この出力を分解してみましょう。
- localhost | SUCCESS: コマンドが localhost ターゲットで正常に実行されたことを示します。
- ansible_facts: 実行中に検出されたシステム情報が含まれています。
- discovered_interpreter_python: Ansible が見つけて使用する Python インタープリターのパスです。
- changed: false: システムに変更が加えられていないことを示します (ping は読み取り専用です)。
- ping: "pong": Ansible の接続を確認する古典的な応答です。
"pong" 応答は、Ansible が正しく動作し、ターゲットシステムと通信できることを確認します。
また、setup モジュールを使用してシステム情報を収集するテストも行いましょう。
ansible localhost -m setup -a "filter=ansible_distribution*"
このコマンドは、setup モジュールを使用してシステムファクトを収集し、具体的にはディストリビューション情報をフィルタリングします。Red Hat Enterprise Linux システムに関する詳細を含む出力が表示されるはずです。
localhost | SUCCESS => {
"ansible_facts": {
"ansible_distribution": "RedHat",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/redhat-release",
"ansible_distribution_file_search_string": "Red Hat",
"ansible_distribution_file_variety": "RedHat",
"ansible_distribution_major_version": "9",
"ansible_distribution_release": "Plow",
"ansible_distribution_version": "9.6",
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false
}
システムファクト出力の理解:
- ansible_distribution: Linux ディストリビューション名 (RedHat)
- ansible_distribution_file_parsed: Ansible がディストリビューションファイルを正常に読み取ったかどうか
- ansible_distribution_file_path: ディストリビューション情報を含むファイル
- ansible_distribution_file_search_string: ディストリビューションを識別するために使用されるテキストパターン
- ansible_distribution_file_variety: ディストリビューションファミリー (RedHat ファミリー)
- ansible_distribution_major_version: メジャーバージョン番号 (9)
- ansible_distribution_release: リリースコードネーム (Plow)
- ansible_distribution_version: 完全なバージョン番号 (9.6)
- discovered_interpreter_python: Ansible によって検出された Python インタープリター
これにより、Ansible がターゲットホストからシステム情報を正常に収集できることが確認されます。これは、システムの特性に基づいて条件付き自動化を作成するために不可欠です。