Ansible Navigator Creator ガイド
Ansible Creator ワークフローで Ansible Navigator の使用
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Ansible コンテンツナビゲーターの概要 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、自動化コンテンツナビゲーターを使用して、Red Hat Ansible Automation Platform と互換性のある Ansible Playbook、コレクション、およびロールを開発できます。以下の環境で自動化コンテンツナビゲーターを使用できますが、以下のすべての環境でシームレスかつ予測可能な結果が得られます。
- ローカルの開発マシン
- 自動化実行環境
また、自動化コンテンツナビゲーターは、Playbook の開発および問題領域のトラブルシューティングに役立つアーティファクトファイルも作成します。
1.1. 自動化コンテンツナビゲーターへの使用 リンクのコピーリンクがクリップボードにコピーされました!
自動化コンテンツナビゲーターは、テキストベースのユーザーインターフェイスを備えたコマンドラインのコンテンツクリエーターに焦点を当てたツールです。自動化コンテンツナビゲーターを使用して、以下を実行できます。
- ジョブおよび Playbook を起動し、監視します。
- 保存され、完成した Playbook とジョブ実行アーティファクトを JSON 形式で共有します。
- 自動化実行環境を閲覧およびイントロスペクションします。
- ファイルベースのインベントリーを参照します。
- Ansible モジュールのドキュメントをレンダリングし、Playbook で使用できるサンプルを展開します。
- ユーザーインターフェイスで詳細なコマンド出力を表示します。
1.2. 自動化コンテンツナビゲーターのモード リンクのコピーリンクがクリップボードにコピーされました!
自動化コンテンツナビゲーターは 2 つのモードで動作します。
- 標準出力 (stdout) モード
- コマンドラインで既存の Ansible コマンドおよび拡張機能の大部分を受け入れます。
- テキストベースのユーザーインターフェイスモード
- Ansible コマンドに対する、インタラクティブなテキストベースのインターフェイスを提供します。このモードを使用して、コンテンツを評価し、Playbook を実行し、アーティファクトファイルを使用して実行した後に Playbook のトラブルシューティングを行います。
1.2.1. 標準出力 (stdout) モード リンクのコピーリンクがクリップボードにコピーされました!
自動化コンテンツナビゲーターで -m stdout サブコマンドを使用して、自動化実行環境内やローカルの開発環境上で ansible-playbook などの一般的な Ansible コマンドを使用します。使い慣れたコマンドを使用して、素早くタスクを実行することができます。
また、自動化コンテンツナビゲーターは、このモードで豊富なヘルプも提供します。
--help-
ansible-navigatorコマンドまたはサブコマンド (ansible-navigator config --helpなど) からアクセスできます。 - サブコマンドのヘルプ
-
サブコマンド (例:
ansible-navigator config --help-config) からアクセスできます。このヘルプには、関連する Ansible コマンドでサポートされているすべてのパラメーターの詳細が表示されます。
1.2.2. テキストベースのユーザーインターフェイスモード リンクのコピーリンクがクリップボードにコピーされました!
テキストベースのユーザーインターフェイスモードは、自動化実行環境、コレクション、Playbook、およびインベントリーとの対話を強化します。このモードは、Visual Studio Code などの統合開発環境 (IDE) と互換性があります。
このモードには、便利なユーザーインターフェイスオプションが多数含まれています。
- コロンコマンド
-
:run、:collectionsなど、コロンを使用して、すべての Automation コンテンツナビゲーターコマンドにアクセスできます。 - テキストベースのインターフェイスの移動
-
この画面には、ページアップまたはページダウン、スクロール、前の画面へのエスケープ、または
:helpへのアクセス方法が表示されます。 - 行番号による出力
-
表示された出力の行番号の前にコロンを付ける (例:
:12) と、その行にアクセスできます。 - 色でコーディングされた出力
- 色を有効にすると、自動化コンテンツナビゲーターは非推奨のモジュールなどのアイテムを赤で表示します。
- ページネーションおよびスクロール
- 各自動化コンテンツナビゲーター画面の下部に表示されるオプションを使用して、ページを上下に移動したり、スクロールしたり、エスケープしたりできます。
自動化コンテンツナビゲーターの実行後は、モード間の切り替えができません。
本書では、ほとんどの手順でテキストベースのユーザーインターフェイスモードを使用します。
1.3. 自動化コンテンツナビゲーターコマンド リンクのコピーリンクがクリップボードにコピーされました!
自動化コンテンツナビゲーターコマンドは、一般的な Ansible CLI コマンドを -m stdout モードで実行します。関連する Ansible CLI コマンドのすべてのサブコマンドおよびオプションを使用できます。詳細は、ansible-navigator --help を使用してください。
| コマンド | 説明 | CLI の例 |
|---|---|---|
| collections | 利用可能なコレクションを調べる |
|
| config | 現在の Ansible 設定を調べる |
|
| doc | モジュールまたはプラグインのドキュメントを参照する |
|
| images | 実行環境イメージを調べる |
|
| inventory | インベントリーを調べる |
|
| replay | Playbook アーティファクトを使用して以前の実行を調べる |
|
| run | Playbook を実行する |
|
| welcome | Welcome ページから開始する |
|
1.4. Ansible コマンドと自動化コンテンツナビゲーターコマンド間の関係 リンクのコピーリンクがクリップボードにコピーされました!
自動化コンテンツナビゲーターコマンドは、一般的な Ansible CLI コマンドを -m stdout モードで実行します。関連する Ansible CLI コマンドで利用できるすべてのサブコマンドおよびオプションを使用できます。詳細は、ansible-navigator --help を使用してください。
| Ansible ナビゲーターコマンド | Ansible CLI コマンド |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
第2章 RHEL への自動コンテンツナビゲーターのインストール リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、Red Hat Enterprise Linux (RHEL) 8 以降に、自動化コンテンツナビゲーターをインストールできます。
2.1. RPM からの RHEL への自動化コンテンツナビゲーターのインストール リンクのコピーリンクがクリップボードにコピーされました!
RPM から、Red Hat Enterprise Linux (RHEL) に自動化コンテンツナビゲーターをインストールできます。
前提条件
- RHEL 8 以降をインストールしている。
- Red Hat Subscription Manager でシステムを登録している。
手順
Red Hat Ansible Automation Platform SKU を割り当てます。
subscription-manager attach --pool=<sku-pool-id>
$ subscription-manager attach --pool=<sku-pool-id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 8 のリポジトリーを有効にします。
sudo subscription-manager repos --enable ansible-automation-platform-2.1-for-rhel-8-x86_64-rpms
$ sudo subscription-manager repos --enable ansible-automation-platform-2.1-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 自動化コンテンツナビゲーターをインストールします。
dnf install ansible-navigator
$ dnf install ansible-navigatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
自動化コンテンツナビゲーターのインストールを確認します。
ansible-navigator --help
$ ansible-navigator --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
以下の例は、インストールの成功を示しています。
第3章 自動化コンテンツナビゲーターを使用した自動化実行環境の確認 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ開発者は、自動化コンテンツナビゲーターで自動化実行環境を確認し、自動化実行環境に含まれるパッケージとコレクションを表示できます。自動化コンテンツナビゲーターは Playbook を実行して結果を抽出し、表示します。
3.1. 自動化コンテンツナビゲーターからの自動化実行環境の確認 リンクのコピーリンクがクリップボードにコピーされました!
自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して、自動化実行環境を確認できます。
前提条件
- 自動化実行環境
手順
自動化コンテンツナビゲーター設定に含まれる自動化実行環境を確認します。
ansible-navigator images
$ ansible-navigator imagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細については、詳しく調べたい自動化実行環境の番号を入力してください。
インストールされている各自動化実行環境のパッケージおよびバージョン、および Ansible バージョンに含まれるコレクションを確認できます。
オプション: 使用する自動化実行環境を渡します。これはプライマリーであり、自動化コンテンツナビゲーターが使用する自動化実行環境です。
ansible-navigator images --eei registry.example.com/example-enterprise-ee:latest
$ ansible-navigator images --eei registry.example.com/example-enterprise-ee:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
自動化実行環境の出力を確認します。
第4章 自動化コンテンツナビゲーターを使用したインベントリーの確認 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、自動化コンテンツナビゲーターを使用して Ansible インベントリーを確認し、グループとホストをインタラクティブに調べることができます。
4.1. 自動化コンテンツナビゲーターからインベントリーの確認 リンクのコピーリンクがクリップボードにコピーされました!
インタラクティブモードの自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して Ansible インベントリーを確認し、グループとホストを詳しく調べることができます。
前提条件
- 有効なインベントリーファイルまたはインベントリープラグイン
手順
自動化コンテンツナビゲーターを起動します。
ansible-navigator
$ ansible-navigatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: コマンドラインから
ansible-navigator inventory -i simple_inventory.ymlと入力してインベントリーを表示します。インベントリーを確認します。
:inventory -i simple_inventory.yml TITLE DESCRIPTION 0│Browse groups Explore each inventory group and group members members 1│Browse hosts Explore the inventory with a list of all hosts
:inventory -i simple_inventory.yml TITLE DESCRIPTION 0│Browse groups Explore each inventory group and group members members 1│Browse hosts Explore the inventory with a list of all hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 0を入力してグループを表示します。NAME TAXONOMY TYPE 0│general all group 1│nodes all group 2│ungrouped all group
NAME TAXONOMY TYPE 0│general all group 1│nodes all group 2│ungrouped all groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow TAXONOMYフィールドには、選択したグループまたはノードが属するグループの階層の詳細が表示されます。調べるグループに対応する番号を入力します。
NAME TAXONOMY TYPE 0│node-0 all▸nodes host 1│node-1 all▸nodes host 2│node-2 all▸nodes host
NAME TAXONOMY TYPE 0│node-0 all▸nodes host 1│node-1 all▸nodes host 2│node-2 all▸nodes hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 調べるホストに対応する番号を入力します。番号が 9 以上になる場合は、
:<number>と入力します。[node-1] 0│--- 1│ansible_host: node-1.example.com 2│inventory_hostname: node-1
[node-1] 0│--- 1│ansible_host: node-1.example.com 2│inventory_hostname: node-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インベントリーの出力を確認します。
TITLE DESCRIPTION 0│Browse groups Explore each inventory group and group members members 1│Browse hosts Explore the inventory with a list of all hosts
TITLE DESCRIPTION 0│Browse groups Explore each inventory group and group members members 1│Browse hosts Explore the inventory with a list of all hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 自動化コンテンツナビゲーターを使用したコレクションを参照 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、自動化コンテンツナビゲーターで Ansible コレクションを参照し、ローカルまたは自動化実行環境で開発した各コレクションをインタラクティブに調べることができます。
5.1. 自動化コンテンツナビゲーターコレクションの表示 リンクのコピーリンクがクリップボードにコピーされました!
自動化コンテンツナビゲーターは、各コレクションに以下の詳細を含むコレクションに関する情報を表示します。
- SHADOWED
- コレクションの追加コピーが検索順序の上位にあり、Playbook がそのコレクションを優先することを示します。
- TYPE
-
コレクションが自動化実行環境にマウントされている自動化実行環境またはボリュームに
bind_mountとして含まれるかどうかを示します。 - PATH
- コレクション TYPE フィールドに基づいて、自動化実行環境またはローカルファイルシステム内のコレクションの場所を反映します。
5.2. 自動化コンテンツナビゲーターからのコレクションの参照 リンクのコピーリンクがクリップボードにコピーされました!
インタラクティブモードの自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して Ansible コレクションを参照し、各コレクションを詳しく調べることができます。自動化コンテンツナビゲーターは、現在のプロジェクトディレクトリー内のコレクションと自動化実行環境で利用可能なコレクションを表示します。
前提条件
- ローカルでアクセス可能なコレクションまたはインストールされた自動化実行環境。
手順
自動化コンテンツナビゲーターを起動します。
ansible-navigator
$ ansible-navigatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow コレクションを参照します。または、
ansible-navigator collectionsと入力してコレクションを直接参照することもできます。:collections
$ :collectionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 確認するコレクションの数を入力します。
:4
:4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 調べるモジュールに対応する番号を入力します。
ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address 0│--- 1│additional_information: {} 2│collection_info: 3│ authors: 4│ - Ansible Community 5│ dependencies: {} 6│ description: Ansible Collection with utilities to ease the management, manipulation, 7│ and validation of data within a playbook 8│ documentation: null 9│ homepage: null 10│ issues: null 11│ license: [] 12│ license_file: LICENSE 13│ name: ansible.utils 14│ namespace: ansible 15│ path:/usr/share/ansible/collections/ansible_collections/ansible/utils/ 16│ readme: README.md <... output truncated...>ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address 0│--- 1│additional_information: {} 2│collection_info: 3│ authors: 4│ - Ansible Community 5│ dependencies: {} 6│ description: Ansible Collection with utilities to ease the management, manipulation, 7│ and validation of data within a playbook 8│ documentation: null 9│ homepage: null 10│ issues: null 11│ license: [] 12│ license_file: LICENSE 13│ name: ansible.utils 14│ namespace: ansible 15│ path:/usr/share/ansible/collections/ansible_collections/ansible/utils/ 16│ readme: README.md <... output truncated...>Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: このモジュールのドキュメントの例に移動します。
:{{ examples }} 0│ 1│ 2│#### Simple examples 3│ 4│- name: Check if 10.1.1.1 is a valid IP address 5│ ansible.builtin.set_fact: 6│ data: "{{ '10.1.1.1' is ansible.utils.ip_address }}" 7│ 8│# TASK [Check if 10.1.1.1 is a valid IP address] ********************* 9│# ok: [localhost] => { 10│# "ansible_facts": { 11│# "data": true 12│# }, 13│# "changed": false 14│# } 15│:{{ examples }} 0│ 1│ 2│#### Simple examples 3│ 4│- name: Check if 10.1.1.1 is a valid IP address 5│ ansible.builtin.set_fact: 6│ data: "{{ '10.1.1.1' is ansible.utils.ip_address }}" 7│ 8│# TASK [Check if 10.1.1.1 is a valid IP address] ********************* 9│# ok: [localhost] => { 10│# "ansible_facts": { 11│# "data": true 12│# }, 13│# "changed": false 14│# } 15│Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: エディターでサンプルを開き、それを Playbook にコピーします。
:open
:openCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
コレクション一覧を参照します。
5.3. 自動化コンテンツナビゲーターのドキュメントの確認 リンクのコピーリンクがクリップボードにコピーされました!
対話モードで自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して、コレクションおよびプラグインの Ansible ドキュメントを確認できます。自動化コンテンツナビゲーターは、現在のプロジェクトディレクトリー内のコレクションと自動化実行環境で利用可能なコレクションを表示します。
前提条件
- ローカルでアクセス可能なコレクションまたはインストールされた自動化実行環境。
手順
自動化コンテンツナビゲーターを起動します。
ansible-navigator
$ ansible-navigatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 対象のモジュールを確認します。または、
ansible-navigator docと入力してドキュメントにアクセスすることもできます。:doc ansible.utils.ip_address
:doc ansible.utils.ip_addressCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address 0│--- 1│additional_information: {} 2│collection_info: 3│ authors: 4│ - Ansible Community 5│ dependencies: {} 6│ description: Ansible Collection with utilities to ease the management, manipulation, 7│ and validation of data within a playbook 8│ documentation: null 9│ homepage: null 10│ issues: null 11│ license: [] 12│ license_file: LICENSE 13│ name: ansible.utils 14│ namespace: ansible 15│ path:/usr/share/ansible/collections/ansible_collections/ansible/utils/ 16│ readme: README.md <... output truncated...>ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address 0│--- 1│additional_information: {} 2│collection_info: 3│ authors: 4│ - Ansible Community 5│ dependencies: {} 6│ description: Ansible Collection with utilities to ease the management, manipulation, 7│ and validation of data within a playbook 8│ documentation: null 9│ homepage: null 10│ issues: null 11│ license: [] 12│ license_file: LICENSE 13│ name: ansible.utils 14│ namespace: ansible 15│ path:/usr/share/ansible/collections/ansible_collections/ansible/utils/ 16│ readme: README.md <... output truncated...>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このモジュールのドキュメント例に移動します。
:{{ examples }} 0│ 1│ 2│#### Simple examples 3│ 4│- name: Check if 10.1.1.1 is a valid IP address 5│ ansible.builtin.set_fact: 6│ data: "{{ '10.1.1.1' is ansible.utils.ip_address }}" 7│ 8│# TASK [Check if 10.1.1.1 is a valid IP address] ********************* 9│# ok: [localhost] => { 10│# "ansible_facts": { 11│# "data": true 12│# }, 13│# "changed": false 14│# } 15│:{{ examples }} 0│ 1│ 2│#### Simple examples 3│ 4│- name: Check if 10.1.1.1 is a valid IP address 5│ ansible.builtin.set_fact: 6│ data: "{{ '10.1.1.1' is ansible.utils.ip_address }}" 7│ 8│# TASK [Check if 10.1.1.1 is a valid IP address] ********************* 9│# ok: [localhost] => { 10│# "ansible_facts": { 11│# "data": true 12│# }, 13│# "changed": false 14│# } 15│Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: エディターでサンプルを開き、それを Playbook にコピーします。
:open
:openCopy to Clipboard Copied! Toggle word wrap Toggle overflow エディターの設定方法の詳細は 「自動化コンテンツナビゲーターの一般設定」 を参照してください。
第6章 自動化コンテンツナビゲーターを使用した Ansible Playbook の実行 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、自動化コンテンツナビゲーターを使用して Ansible Playbook を実行し、各プレイとタスクの結果をインタラクティブに調べて、Playbook を検証またはトラブルシューティングできます。また、実行環境内で Ansible Playbook を実行すれば、実行環境がなくても、問題を比較してトラブルシューティングできます。
6.1. 自動化コンテンツナビゲーターからの Playbook の実行 リンクのコピーリンクがクリップボードにコピーされました!
自動化ナビゲーターのテキストベースのユーザーインターフェイスで Ansible Playbook を実行して、タスクの実行を追跡し、各タスクの結果を詳しく調べることができます。
前提条件
- Playbook
-
localhostまたは inventory プラグインを使用しない場合は有効なインベントリーファイル。
手順
自動化コンテンツナビゲーターを起動します。
ansible-navigator
$ ansible-navigatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook を実行します。
:run
$ :runCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オプション:
ansible-navigator run simple-playbook.yml -i inventory.ymlを入力して Playbook を実行します。 インベントリーおよびその他のコマンドラインパラメーターを確認または追加します。
INVENTORY OR PLAYBOOK NOT FOUND, PLEASE CONFIRM THE FOLLOWING ───────────────────────────────────────────────────────────────────────── Path to playbook: /home/ansible-navigator_demo/simple_playbook.yml Inventory source: /home/ansible-navigator-demo/inventory.yml Additional command line parameters: Please provide a value (optional) ────────────────────────────────────────────────────────────────────────── Submit CancelINVENTORY OR PLAYBOOK NOT FOUND, PLEASE CONFIRM THE FOLLOWING ───────────────────────────────────────────────────────────────────────── Path to playbook: /home/ansible-navigator_demo/simple_playbook.yml Inventory source: /home/ansible-navigator-demo/inventory.yml Additional command line parameters: Please provide a value (optional) ────────────────────────────────────────────────────────────────────────── Submit CancelCopy to Clipboard Copied! Toggle word wrap Toggle overflow Tab キーを押して
Submitに移動し、Enter キーを押します。実行中のタスクが表示されるはずです。プレイ結果にステップインするプレイの横に番号を入力します。9 を超える数字の場合は
:<number>と入力します。自動化コンテンツナビゲーターで色を有効にしている場合は、失敗したタスクが赤で表示されることに注意してください。
タスクの結果を確認するタスクの横に番号を入力します。9 を超える番号の場合は
:<number>と入力します。オプション:
:docと入力し、トラブルシューティングを支援するタスクで使用されるモジュールまたはプラグインのドキュメントを起動します。ANSIBLE.BUILTIN.PACKAGE_FACTS (MODULE) 0│--- 1│doc: 2│ author: 3│ - Matthew Jones (@matburt) 4│ - Brian Coca (@bcoca) 5│ - Adam Miller (@maxamillion) 6│ collection: ansible.builtin 7│ description: 8│ - Return information about installed packages as facts. <... output omitted ...> 11│ module: package_facts 12│ notes: 13│ - Supports C(check_mode). 14│ options: 15│ manager: 16│ choices: 17│ - auto 18│ - rpm 19│ - apt 20│ - portage 21│ - pkg 22│ - pacman <... output truncated ...>
ANSIBLE.BUILTIN.PACKAGE_FACTS (MODULE) 0│--- 1│doc: 2│ author: 3│ - Matthew Jones (@matburt) 4│ - Brian Coca (@bcoca) 5│ - Adam Miller (@maxamillion) 6│ collection: ansible.builtin 7│ description: 8│ - Return information about installed packages as facts. <... output omitted ...> 11│ module: package_facts 12│ notes: 13│ - Supports C(check_mode). 14│ options: 15│ manager: 16│ choices: 17│ - auto 18│ - rpm 19│ - apt 20│ - portage 21│ - pkg 22│ - pacman <... output truncated ...>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2. 自動化コンテンツナビゲーターアーティファクトファイルを使用した Playbook の結果の確認 リンクのコピーリンクがクリップボードにコピーされました!
Automation コンテンツナビゲーターは、JSON アーティファクトファイルに Playbook 実行の結果を保存します。このファイルを使用して、Playbook の結果を他の人と共有したり、セキュリティーやコンプライアンスの理由で保存したり、後で確認してトラブルシューティングしたりできます。Playbook の実行を確認するには、アーティファクトファイルのみが必要です。Playbook 自体またはインベントリーアクセスにアクセスする必要はありません。
前提条件
- Playbook 実行からの自動化コンテンツナビゲーターアーティファクトの JSON ファイル。
手順
アーティファクトファイルを使用して自動化コンテンツナビゲーターを起動します。
ansible-navigator replay simple_playbook_artifact.json
$ ansible-navigator replay simple_playbook_artifact.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook の実行時に一致する Playbook の結果を確認します。
これで、Playbook を実行した後と同じように、プレイとタスクの横に番号を入力して、それぞれにステップインして結果を確認できるようになりました。
第7章 自動化コンテンツナビゲーターを使用した Ansible 設定の確認 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、自動化コンテンツナビゲーターで Ansible 設定を確認し、インタラクティブに設定を調べることができます。
7.1. 自動化コンテンツナビゲーターで Ansible 設定の確認 リンクのコピーリンクがクリップボードにコピーされました!
Ansible 設定は、自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを対話モードで確認でき、設定を詳しく調べることができます。自動化コンテンツナビゲーターは、アクセス可能な Ansible 設定ファイルから結果をプルするか、設定ファイルが存在しない場合にはデフォルトを返します。
前提条件
- 追加の自動化実行環境にアクセスする必要がある場合は、Red Hat レジストリーに対して認証されている。詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。
手順
自動化コンテンツナビゲーターを起動します。
ansible-navigator
$ ansible-navigatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: コマンドラインから
ansible-navigator configを入力し、Ansible 設定にアクセスします。Ansible 設定を確認します。
:config
:configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一部の値は、自動化実行環境が機能するために必要な自動化実行環境の設定を反映しています。これらは、Ansible 設定ファイルでは設定できないデフォルト以外の設定として表示されます。
調べる設定に対応する番号を入力します。番号が 9 以上になる場合は、
:<number>と入力します。ANSIBLE COW ACCEPTLIST (current: ['bud-frogs', 'bunny', 'cheese']) (default: 0│--- 1│current: 2│- bud-frogs 3│- bunny 4│- cheese 5│default: 6│- bud-frogs 7│- bunny 8│- cheese 9│- daemon
ANSIBLE COW ACCEPTLIST (current: ['bud-frogs', 'bunny', 'cheese']) (default: 0│--- 1│current: 2│- bud-frogs 3│- bunny 4│- cheese 5│default: 6│- bud-frogs 7│- bunny 8│- cheese 9│- daemonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
出力には、現在の setting と default が表示されます。設定は自動化実行環境のものであるため、この例の source は env であることに注意してください。
検証
設定出力を確認します。
第8章 自動化コンテンツナビゲーターの設定設定 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、開発環境に合わせるために、自動化コンテンツナビゲーターを設定できます。
8.1. 自動化コンテンツナビゲーター設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下を使用して、デフォルトの自動化コンテンツナビゲーター設定を変更できます。
- コマンドライン
- 設定ファイル内で
- 環境変数として
自動化コンテンツナビゲーターは以下の順序で設定ファイルを確認し、最初の一致を使用します。
-
ANSIBLE_NAVIGATOR_CONFIG: 設定されている場合は、設定ファイルのパス環境変数です。 -
./ansible-navigator.<ext>: 現行プロジェクトディレクトリー内の設定ファイルです。ファイル名にドットはありません。 -
\~/.ansible-navigator.<ext>: ファイル名にドットが含まれるホームディレクトリーです。
自動化コンテンツナビゲーター設定ファイルを作成する場合は、以下を考慮してください。
-
設定ファイルは、
JSON形式またはYAML形式のいずれかを使用できます。 -
JSON形式では、拡張子を.jsonにする必要があります。 -
YAML形式では、拡張子を.ymlまたは.yamlにする必要があります。 - プロジェクトおよびホームディレクトリーにはそれぞれ設定ファイルを 1 つだけ使用できます。
- 自動化コンテンツナビゲーターが、いずれかのディレクトリーで複数の設定ファイルを見つけると、エラーが発生します。
以下の設定ファイル例をそれらのパスのいずれかにコピーして、ansible-navigator 設定ファイルを開始できます。
---
ansible-navigator:
# ansible:
# config: /tmp/ansible.cfg
# cmdline: "--forks 15"
# inventories:
# - /tmp/test_inventory.yml
# playbook: /tmp/test_playbook.yml
# ansible-runner:
# artifact-dir: /tmp/test1
# rotate-artifacts-count: 10
# timeout: 300
# app: run
# collection-doc-cache-path: /tmp/cache.db
# color:
# enable: False
# osc4: False
# editor:
# command: vim_from_setting
# console: False
# documentation:
# plugin:
# name: shell
# type: become
# execution-environment:
# container-engine: podman
# enabled: False
# environment-variables:
# pass:
# - ONE
# - TWO
# - THREE
# set:
# KEY1: VALUE1
# KEY2: VALUE2
# KEY3: VALUE3
# image: test_image:latest
# pull-policy: never
# volume-mounts:
# - src: "/test1"
# dest: "/test1"
# label: "Z"
# help-config: True
# help-doc: True
# help-inventory: True
# help-playbook: False
# inventory-columns:
# - ansible_network_os
# - ansible_network_cli_ssh_type
# - ansible_connection
logging:
# append: False
level: critical
# file: /tmp/log.txt
# mode: stdout
# playbook-artifact:
# enable: True
# replay: /tmp/test_artifact.json
# save-as: /tmp/test_artifact.json
---
ansible-navigator:
# ansible:
# config: /tmp/ansible.cfg
# cmdline: "--forks 15"
# inventories:
# - /tmp/test_inventory.yml
# playbook: /tmp/test_playbook.yml
# ansible-runner:
# artifact-dir: /tmp/test1
# rotate-artifacts-count: 10
# timeout: 300
# app: run
# collection-doc-cache-path: /tmp/cache.db
# color:
# enable: False
# osc4: False
# editor:
# command: vim_from_setting
# console: False
# documentation:
# plugin:
# name: shell
# type: become
# execution-environment:
# container-engine: podman
# enabled: False
# environment-variables:
# pass:
# - ONE
# - TWO
# - THREE
# set:
# KEY1: VALUE1
# KEY2: VALUE2
# KEY3: VALUE3
# image: test_image:latest
# pull-policy: never
# volume-mounts:
# - src: "/test1"
# dest: "/test1"
# label: "Z"
# help-config: True
# help-doc: True
# help-inventory: True
# help-playbook: False
# inventory-columns:
# - ansible_network_os
# - ansible_network_cli_ssh_type
# - ansible_connection
logging:
# append: False
level: critical
# file: /tmp/log.txt
# mode: stdout
# playbook-artifact:
# enable: True
# replay: /tmp/test_artifact.json
# save-as: /tmp/test_artifact.json
8.2. 自動化コンテンツナビゲーターの一般設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、自動化コンテンツナビゲーターの一般的な各パラメーターと設定オプションを説明しています。
| パラメーター | 説明 | オプションの設定 |
|---|---|---|
| ansible-runner-artifact-dir | ansible-runner によって生成されたアーティファクトを保存するディレクトリーパス。 | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator:
ansible-runner:
artifact-dir:
|
| ansible-runner-rotate-artifacts-count | 最後の n の実行には、ansible-runner アーティファクトディレクトリーを保持します。0 に設定すると、アーティファクトディレクトリーは削除されません。 | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator:
ansible-runner:
rotate-artifacts-count:
|
| ansible-runner-timeout |
| Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator:
ansible-runner:
timeout:
|
| app | 自動化コンテンツナビゲーターのエントリーポイント。 |
Choices:
Default:
CLI example:
ENV: Settings file: ansible-navigator: app:
|
| cmdline | 対応するコマンドに渡す追加のパラメーター。 | Default: デフォルト値なし CLI: 位置
ENV: Settings file: ansible-navigator:
ansible:
cmdline:
|
| collection-doc-cache-path | コレクションのドキュメントキャッシュへのパス。 |
Default:
CLI:
ENV: Settings file: ansible-navigator: collection-doc-cache-path:
|
| container-engine |
コンテナーエンジンを指定します ( |
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator:
execution-environment:
container-engine:
|
| display-color | ディスプレイでの色の使用を有効にします。 |
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator:
color:
enable:
|
| editor-command | 自動化コンテンツナビゲーターが使用するエディターを指定します。 | デフォルト:* vi +{line_number} {filename}
CLI:
ENV: Settings file: ansible-navigator:
editor:
command:
|
| editor-console | エディターがコンソールベースであるかどうかを指定します。 |
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator:
editor:
console:
|
| execution-environment | 自動化実行環境の使用を有効または無効にします。 |
Choices:
Default:
CLI:
ENV:* Settings file: ansible-navigator:
execution-environment:
enabled:
|
| execution-environment-image | 自動化実行環境イメージの名前を指定します。 |
Default:
CLI:
ENV: Settings file: ansible-navigator:
execution-environment:
image:
|
| execution-environment-volume-mounts |
自動化実行環境内にバインドマウントするボリュームを指定します ( | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator:
execution-environment:
volume-mounts:
|
| log-append | ログメッセージを既存のログファイルに追加するかどうかを指定します。既存のログファイルを追加しないと、セッションごとに新しいログファイルが作成されます。 |
Choices: Default: True
CLI:
ENV: Settings file: ansible-navigator:
logging:
append:
|
| log-file | 自動化コンテンツナビゲーターのログファイルの完全パスを指定します。 |
Default:
CLI:
ENV: Settings file: ansible-navigator:
logging:
file:
|
| ログレベル | 自動化コンテンツナビゲーターのログレベルを指定します。 |
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator:
logging:
level:
|
| mode | ユーザーインターフェイスモードを指定します。 |
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator: mode:
|
| osc4 | OSC 4 で端末の色変更のサポートを有効または無効にします。 |
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator:
color:
osc4:
|
| pass-environment-variable |
自動化実行環境内で渡される終了環境変数を指定します ( | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator:
execution-environment:
environment-variables:
pass:
|
| pull-policy | イメージプルポリシーを指定します。
|
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator:
execution-environment:
pull-policy:
|
| set-environment-variable |
自動化実行環境内で設定する環境変数および値を指定します | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator:
execution-environment:
environment-variables:
set:
|
8.3. 自動化コンテンツナビゲーターの config サブコマンド設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、自動化コンテンツナビゲーター config サブコマンドの各パラメーターと設定オプションを示しています。
| パラメーター | 説明 | オプションの設定 |
|---|---|---|
| config | Ansible 設定ファイルのパスを指定します。 | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator:
ansible:
config:
|
| help-config |
|
Choices:*
Default:
CLI:
ENV: Settings file: ansible-navigator: help-config:
|
8.4. 自動化コンテンツナビゲーターの doc サブコマンド設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、自動化コンテンツナビゲーターの doc サブコマンド用の各パラメーターおよび設定オプションを示しています。
| パラメーター | 説明 | オプションの設定 |
|---|---|---|
| help-doc |
|
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator: help-doc:
|
| plugin-name | プラグイン名を指定します。 | Default: デフォルト値が設定されていない CLI: 位置
ENV: Settings file: ansible-navigator:
documentation:
plugin:
name:
|
| plugin-type | プラグインタイプを指定します。 |
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator:
documentation:
plugin:
type:
|
8.5. 自動化コンテンツナビゲーターの inventory サブコマンド設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、自動化コンテンツナビゲーターの inventory サブコマンドの各パラメーターおよび設定オプションを示しています。
| パラメーター | 説明 | オプションの設定 |
|---|---|---|
| help-inventory |
|
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator: help-inventory:
|
| inventory | インベントリーファイルパスまたはコンマ区切りホスト一覧を指定します。 | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator: inventories:
|
| inventory-column | インベントリービューに表示されるホスト属性を指定します。 | Default: デフォルト値が設定されていない
CLI:
ENV:* ansible-navigator: inventory-columns:
|
8.6. 自動化コンテンツナビゲーターの replay サブコマンド設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、自動化コンテンツナビゲーターの replay サブコマンド用の各パラメーターおよび設定オプションを示しています。
| パラメーター | 説明 | オプションの設定 |
|---|---|---|
| playbook-artifact-replay | 再生する Playbook アーティファクトのパスを指定します。 | Default: デフォルト値が設定されていない CLI: 位置
ENV: Settings file: ansible-navigator:
playbook-artifact:
replay:
|
8.7. 自動化コンテンツナビゲーターの run サブコマンド設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、自動化コンテンツナビゲーターの run サブコマンド用の各パラメーターおよび設定オプションを示しています。
| パラメーター | 説明 | オプションの設定 |
|---|---|---|
| playbook-artifact-replay | 再生する Playbook アーティファクトのパスを指定します。 | Default: デフォルト値が設定されていない CLI: 位置
ENV: Settings file: ansible-navigator:
playbook-artifact:
replay:
|
| help-playbook |
|
Choices:
Default:
CLI:
ENV: Settings file: ansible-navigator: help-playbook:
|
| inventory | インベントリーファイルパスまたはコンマ区切りホスト一覧を指定します。 | Default: デフォルト値が設定されていない
CLI:
ENV: Settings file: ansible-navigator: inventories:
|
| inventory-column | インベントリービューに表示されるホスト属性を指定します。 | Default: デフォルト値が設定されていない
CLI:
ENV:* ansible-navigator: inventory-columns:
|
| Playbook | Playbook 名を指定します。 | Default: デフォルト値が設定されていない CLI: 位置
ENV: Settings file:* ansible-navigator:
ansible:
playbook:
|
| playbook-artifact-enable |
完了した Playbook のアーティファクトの作成を有効または無効にします。注記: Playbook でユーザー入力が必要な場合には、 |
Choices:
Default:
CLI: ansible-navigator:
playbook-artifact:
enable:
|
| playbook-artifact-save-as | 完了した Playbook から作成したアーティファクトの名前を指定します。 |
Default:
CLI:
ENV: Settings file: ansible-navigator:
playbook-artifact:
save-as:
|
第9章 自動化コンテンツナビゲーターを使用した Ansible コンテンツのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ作成者は、自動化コンテンツナビゲーターで Ansible コンテンツ (コレクション、自動化実行環境、および Playbook) をトラブルシューティングしたり、Playbook を対話形式でトラブルシューティングしたりできます。自動化実行環境の内外で結果を比較し、問題をトラブルシューティングすることもできます。
9.1. 自動化コンテンツナビゲーターアーティファクトファイルを使用した Playbook の結果の確認 リンクのコピーリンクがクリップボードにコピーされました!
Automation コンテンツナビゲーターは、JSON アーティファクトファイルに Playbook 実行の結果を保存します。このファイルを使用して、Playbook の結果を他の人と共有したり、セキュリティーやコンプライアンスの理由で保存したり、後で確認してトラブルシューティングしたりできます。Playbook の実行を確認するには、アーティファクトファイルのみが必要です。Playbook 自体またはインベントリーアクセスにアクセスする必要はありません。
前提条件
- Playbook 実行からの自動化コンテンツナビゲーターアーティファクトの JSON ファイル。
手順
アーティファクトファイルを使用して自動化コンテンツナビゲーターを起動します。
ansible-navigator replay simple_playbook_artifact.json
$ ansible-navigator replay simple_playbook_artifact.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook の実行時に一致する Playbook の結果を確認します。
これで、Playbook を実行した後と同じように、プレイとタスクの横に番号を入力して、それぞれにステップインして結果を確認できるようになりました。
9.2. 自動化コンテンツナビゲーターでよくある質問 (FAQ) リンクのコピーリンクがクリップボードにコピーされました!
次の自動化コンテンツナビゲーターの FAQ を、お使いの環境で発生している問題のトラブルシューティングに役立ててください。
- 自動化実行環境を使用する場合、
ansible.cfgファイルはどこに置く必要がありますか。 -
ansible.cfgを使用する最も簡単な方法は、Playbook に隣接するプロジェクトディレクトリーに置くことです。Playbook ディレクトリーは実行環境に自動的にマウントされ、ansible.cfgファイルが表示されます。ansible.cfgファイルが別のディレクトリーにある場合は、ANSIBLE_CONFIG変数とカスタムボリュームマウントとして指定されたディレクトリーを設定する必要があります。execution-environment-volume-mountsの場合は 「自動化コンテンツナビゲーターの一般設定」 を参照してください。 - 自動化実行環境を使用しない場合、
ansible.cfgファイルはどこに置く必要がありますか。 -
自動化実行環境を使用しない場合、Ansible は通常の場所で
ansible.cfgを探します。詳細は、Ansible 構成設定 を参照してください。 - 自動化実行環境を使用する場合、Ansible コレクションはどこに置く必要がありますか。
-
Ansible コレクションを作成する最も簡単な場所は、プロジェクトディレクトリー、Playbook に隣接するコレクションディレクトリーです (例:
ansible-galaxy collections install ansible.utils -p ./collections)。Playbook ディレクトリーは自動化実行環境に自動的にマウントされ、自動化コンテンツナビゲーターはその環境でコレクションを見つけます。または、Ansible Builder を使用して、コレクションを自動化実行環境に構築する方法もあります。(Ansible Builder の使用の詳細は、Ansible Builder ガイド を参照してください)。自動化コントローラーは Playbook に隣接するコレクションディレクトリーをサポートしているため、これはコンテンツ作成者が実稼働用の Playbook を作成するのに役立ちます。コレクションが別のディレクトリーにある場合は、ANSIBLE_COLLECTIONS_PATHS変数を設定して、そのディレクトリーのカスタムボリュームマウントを設定します。execution-environment-volume-mountsの場合は 「自動化コンテンツナビゲーターの一般設定」 を参照してください。 - 自動化実行環境を使用していない場合、Ansible コレクションはどこに置く必要がありますか。
- 自動化実行環境を使用しない場合は、Ansible がコレクションのデフォルト場所を検索します。Ansible Collections ユーザーガイド を参照してください。
vars_promptまたはpause/promptが使用されたときに Playbook がハングするのはなぜですか。-
デフォルトでは、自動化コンテンツナビゲーターは、自動化コントローラーが Playbook を実行するのと同じ方法で Playbook を実行します。これは、コンテンツ作成者が実稼働環境を準備する Playbook を作成するために実行されました。
vars_promptまたはpause\promptの使用を回避できない場合は、playbook-artifactの作成を無効にすると、自動化コンテンツナビゲーターはansible-playbookと互換性のある方法で Playbook を実行し、ユーザーの対話を可能にします。 - 端末コンテンツナビゲーターが端末の色を変更したり、見栄えが悪くなるのはなぜですか。
-
自動化コンテンツナビゲーターは、OSC4 互換性の端末にクエリーを実行します。OSC4、10、11、104、110、および 111 は、端末が色変更をサポートすることを示し、元に戻します。端末が機能を誤って表示している可能性があります。OSC4 検出は、
--osc4 falseを設定して無効にできます。環境変数または設定ファイルでこれを処理する方法は、「自動化コンテンツナビゲーターの一般設定」 を参照してください。 - 自動化コンテンツナビゲーターで使用される色を変更するにはどうすればよいですか。
-
--osc4 falseを使用して、自動化コンテンツナビゲーターを強制的に端末定義した色を使用するようにします。環境変数または設定ファイルでこれを処理する方法は、「自動化コンテンツナビゲーターの一般設定」 を参照してください。 - playbook ディレクトリーにあるすべての
site-artifact-2021-06-02T16:02:33.911259+00:00.jsonファイルは何に使用しますか。 -
自動化コンテンツナビゲーターは、すべての Playbook の実行に対して Playbook アーティファクトを作成します。これらは、自動化が完了した後の結果の確認、同僚との共有とトラブルシューティング、またはコンプライアンスや変更管理の目的での維持に役立ちます。Playbook アーティファクトファイルには、すべてのプレイおよびタスク、Playbook 実行の標準出力
stdoutに関する詳細情報が含まれます。自動化コンテンツナビゲーターセッション中にansible-navigator replay <filename>または:replay <filename>を使用して Playbook アーティファクトを確認できます。すべての Playbook アーティファクトは、希望のビューに応じて、--mode stdoutおよび--mode interactiveの両方で確認することができます。Playbook のアーティファクトの記述およびデフォルトのファイルの命名規則を無効にすることができます。環境変数または設定ファイルでこれを処理する方法は、「自動化コンテンツナビゲーターの一般設定」 を参照してください。 :openを使用するとviが開くのはなぜですか。自動化コンテンツナビゲーターは、デフォルトのエディターで端末に表示されるものを開きます。デフォルトは
vi +{line_number} {filename}、またはEDITOR環境変数の現在の値のいずれかに設定されます。これは、エディターがコンソールベースまたは端末ベースであるかを示すeditor-console設定です。役立つ可能性のある代替設定の例を以下に示します。# emacs ansible-navigator: editor: command: emacs -nw +{line_number} {filename} console: true# emacs ansible-navigator: editor: command: emacs -nw +{line_number} {filename} console: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow # vscode ansible-navigator: editor: command: code -g {filename}:{line_number} console: false# vscode ansible-navigator: editor: command: code -g {filename}:{line_number} console: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow #pycharm ansible-navigator: editor: command: charm --line {line_number} {filename} console: false#pycharm ansible-navigator: editor: command: charm --line {line_number} {filename} console: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - どの順番で設定が適用されますか。
自動化コンテンツナビゲーター設定システムは、さまざまなソースから設定をプルするため、以下の順序で階層的に適用します (最後に適用された変更が最も一般的なものになります)。
- デフォルトの内部値
- 設定ファイルの値
- 環境変数からの値
- コマンドラインで指定されたフラグおよび引数
-
テキストベースのユーザーインターフェイス内で
:コマンドを実行している間
- 何かが機能しませんでした。どうすればトラブルシューティングできますか。
-
自動化コンテンツナビゲーターには、適切なログメッセージがあります。
--log-level debugを使用して、debugログを有効にできます。バグを見つけたと思われる場合は、問題をログに記録し、ログファイルから詳細情報を追加してください。