Inventory (インベントリー) は、ジョブを起動できるホストのコレクションです (Ansible インベントリーファイルと同様)。インベントリーはグループに分類され、それらのグループには実際のホストが含まれます。グループは、ホスト名を Tower に入力して手動で取得することも、Ansible Tower のサポートされるクラウドプロバイダーから取得することもできます。
注釈
カスタム動的インベントリースクリプト、または Tower でネイティブにサポートされていないクラウドプロバイダーがある場合、それを Tower にインポートすることもできます。Tower Administration Guide を参照してください。
このタブには、現在利用可能なインベントリーの一覧が表示されます。このインベントリーの一覧は、名前 または 組織 で並び替え、検索できます。この一覧は Cloud Sourced (クラウドソース)、失敗したホスト、または Sync Failures (同期の失敗) でもフィルターできます。
インベントリーの詳細の一覧には、以下が含まれます。
インベントリーの同期: これが設定されている場合、「同期」を実行して設定済みのソースコントロールからプロジェクトの詳細を取得できます。
Status Dot (ステータスを示す丸い点): このインベントリーの最近のジョブのステータスを表示します。
名前: インベントリー名。インベントリー名をクリックすると、選択したインベントリーのプロパティー画面に移動します。ここでは、インベントリーのグループおよびホストが表示されます (このビューは アクション メニューからアクセスすることもできます)。
組織: インベントリーが属する組織。
アクション: 以下のアクションは選択したインベントリーについて選択できます。
- 編集: 選択したインベントリーのプロパティーを編集します。
- 削除: 選択したインベントリーを削除します。この操作は取り消すことができません!
新規インベントリーを作成するには、以下を実行します。
保存をクリックしたら、グループおよびホストの管理画面が表示されます。
Topics:
インベントリーはグループに分類され、それらにはホストと他のグループ、およびホストが含まれる可能性があります。インベントリーについていくつかのアクションを選択できます。
グループの下で、どのグループがこのインベントリーに属するかについて、グループ名で簡単にフィルターし、検索して確認することができます。
グループ名の右側のボタンを選すると、追加のアクションをグループに対して実行できます。
インベントリーの新規グループを作成するには、以下を実行します。
以前のバージョンの Ansible Tower では、ソース のデフォルトは「manual」でした。つまり、ホストを Tower に手動で入力する必要がありました。Ansible Tower 3.0 より、ホストは複数の方法/認証情報ソースを使って追加できるようになりました (ホストの個別管理についての詳細は、新規ホストの追加 を参照してください)。
注釈
バージョン 2.2 より、Ansible Tower は Amazon Web Services EC2、Rackspace Cloud Servers、Google Compute Engine、VMware vCenter、Microsoft Azure、OpenStack、および管理者によって追加されるカスタムスクリプトをサポートします。Ansible Tower バージョン 3.0 では、Microsoft Azure Classic (非推奨) および Microsoft Azure Resource Manager が追加され、Microsoft Azure について提供されるサポートが拡張し、さらに Red Hat Satellite 6 および RH Cloudforms の認証情報のサポートも追加されています。
「起動時の更新」の設定は、プロジェクトおよびインベントリーの依存関係システムを参照し、とくに 2 つのジョブが同時に実行されないようにする訳ではありません。キャッシュのタイムアウトが指定される場合には、2 番目のジョブの依存関係が作成され、最初のジョブが生成したプロジェクトおよびインベントリーの更新が使用されます。その後それら両方のジョブがプロジェクトおよび/またはインベントリーの更新の終了を待機し、次に進みます。これらが異なるジョブテンプレートである場合は、システムのキャパシティーに制約がない場合にはそれらを同時に開始し、実行することができます。
注釈
Tower のプロビジョニングコールバック機能を動的インベントリーソースと共に使用する場合は、「起動時の更新」をインベントリーグループに対して設定する必要があります。
Topics:
ホストを入力できる認証情報タイプに一致するソースを選択します。
注釈
Rackspace インベントリーの同期は Tower 3.1.0 で非推奨にされており、Rackspace のサポートは今後のリリースで削除されます。
Rackspace のグループを設定するには、Rackspace Cloud Servers (Rackspace クラウドサーバー) を選択してから以下の詳細を入力します。
オプションの更新 を設定することもできます。
AWS のグループを設定するには、Amazon EC2 を選択してから以下の詳細を入力します。
クラウド認証情報: 既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
Tower が割り当てられた IAM ロールを持つ EC2 インスタンスで実行されている場合、認証情報を省略でき、インスタンスメタデータのセキュリティー認証情報が代わりに使用されます。IAM ロールの使用についての詳細は、`IAM_Roles_for_Amazon_EC2_documentation_at_Amazon <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam- roles-for-amazon-ec2.html>`_を参照してください。
リージョン: リージョンフィールドをクリックして、クラウドプロバイダーのリージョンの一覧を表示します。複数のリージョンを選択するか、または「すべて」を選択してすべてのリージョンを組み込むことができます。Tower は選択されたリージョンに関連付けられたホストでのみ更新されます。
インスタンスフィルター: Amazon EC2 インベントリー全体をインポートする代わりに、各種のメタデータに基づいてインベントリースクリプトで返されるインスタンスをフィルターします。ホストがここに入力されるフィルターのいずれかに一致する場合、ホストはインポートされます。
例:
ここで使用できるフィルターについての詳細は、Amazon ドキュメントの Describe Instances を参照してください。
グループ化のみ: デフォルトで、Tower は以下の Amazon EC2 パラメーターに基づいてグループを作成します。
これらすべてのグループを作成する必要がない場合、デフォルトで作成する必要のあるグループの一覧をドロップダウンから選択します。さらに インスタンス ID
を選択し、インスタンスのインスタンス ID に基づいてグループを作成することもできます。
変数: このグループのすべてのホストに適用される定義および値を入力します。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。
ソース変数: ec2.ini
にあり、インベントリー更新スクリプトで使用される変数を上書きします。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。これらの変数についての詳細は、Ansible GitHub リポジトリーの `view ec2.ini <https://github.com/ansible/ansible/blob/devel/contrib/inventory/ec2.ini>`__を参照してください。
オプションの更新 を設定することもできます。
Google Compute Engine のグループを設定するには、Google Compute Engine を選択し、以下の詳細を入力します。
オプションの更新 を設定することもできます。
Microsoft Azure Classic のグループを設定するには、Microsoft Azure Classic (deprecated) を選択し、以下の詳細を入力します。
オプションの更新 を設定することもできます。
Microsoft Azure Resource Manager のグループを設定するには、Microsoft Azure Resource Managee を選択し、以下の詳細を入力します。
オプションの更新 を設定することもできます。
VMware vCenter のグループを設定するには、VMware vCenter を選択し、以下の詳細を入力します。
vmware_inventory.ini
にあり、インベントリー更新スクリプトで使用される変数を上書きします。これらの変数についての詳細は、view vmware_inventory.ini in the Ansible GitHub repo を参照してください。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。注釈
VMware のインベントリースクリプトは Ansible Tower 3.1.2 で更新され、host_filters
または groupby_patterns
パラメーターの設定が可能になりました。「グループの作成」画面または「グループの編集」画面の ソース変数 テキストフィールドでそれらの値を指定します。以下は例になります。
オプションの更新 を設定することもできます。
Red Hat Satellite 6 のグループを設定するには、Red Hat Satellite 6 を選択し、以下の詳細を入力します。
オプションの更新 を設定することもできます。
Red Hat CloudForms のグループを設定するには、Red Hat CloudForms を選択してから以下の詳細を入力します。
オプションの更新 を設定することもできます。
OpenStack のグループを設定するには、OpenStack を選択してから以下の詳細を入力します。
openstack.yml
にあり、インベントリー更新スクリプトで使用される変数を上書きします。これらの変数についての詳細は、view openstack.yml in the Ansible GitHub repo を参照してください。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。オプションの更新 を設定することもできます。
Tower では、カスタム動的インベントリースクリプトを使用できます (管理者が追加している場合)。
カスタムインベントリースクリプトを使用するようにグループを設定するには、カスタムスクリプト を選択してから以下の詳細を入力します。
カスタムインベントリースクリプト: 既存のインベントリースクリプトから選択します。
環境変数: インベントリー更新スクリプトで使用される環境の変数を設定します。変数は作成したスクリプトに固有のものになります。
JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。
オプションの更新 を設定することもできます。
カスタムインベントリースクリプトの同期または使用についての詳細は、Ansible Tower Administration Guide の ag_custom_inventory_script を参照してください。
クラウドサービスから取得されるグループの場合、インベントリー更新プロセスは スケジュール ビューでスケジュールできます。スケジュール ビューにアクセスするには、インベントリーグループ名の横にあるスケジュール () ボタンをクリックし、グループの編集 ダイアログを開きます。
この画面には、選択された グループ で現在利用できるスケジュールの一覧が表示されます。スケジュールの一覧は、名前 で並べ替えることができます。
スケジュールの一覧には以下が含まれます。
スケジュール 画面の右上にあるボタンから以下のアクションを実行できます。
新規スケジュールを作成するには、以下を実行します。
- なし
- 分、時、または日
- 週
- 月
- 年
Schedule Description (スケジュールの説明) パネルでは、選択したローカルタイムゾーンまたは UTC で設定されたスケジュールとスケジュールされたオカレンスの一覧を確認することができます (必要に応じて Local Time (ローカルタイム) または UTC を選択します)。
注釈
UTC 時間の設定を使用する場合、ジョブが 1 日の特定の時間に繰り返し実行される場合には、夏時間 (DST) へ/からの切り替えがあると、ローカルタイムゾーンに合わせてこれらのジョブのスケジュールは移動します。
スケジュールを保存したら、グループ名の横にあるスケジュール () タブをクリックして表示できます。
スケジュールについていくつかのサーバーのアクションを選択できます。
ホストがインベントリー表示画面の右側に一覧表示されます。
ホストの一覧は、名前 または グループ で並び替え、検索でき、無効にされたホストや、失敗したジョブを持つホスト、および外部ソースと同期したホストでフィルターできます。
この一覧には各ホストについての情報やいくつかのアクションが表示されます。
ホストは IP アドレスやホスト名により手動で追加できます。Tower は AWS EC2、Google Compute Engine、MS Azure、VMware、Rackspace Open Cloud または OpenStack からのインベントリーを直接同期することもできます。
新規ホストを作成してこれを既存グループに追加するには、以下を実行します。
これにより、ホストの作成 ダイアログが開かれます。
アドホックコマンドを実行するには、以下を実行します。
次に、 ボタンをクリックします。
以下のフィールドに詳細を記入します。
モジュール: Tower がコマンドの実行での使用をサポートしているモジュールのいずれかを選択します。
command | apt_repository | mount | win_service |
shell | apt_rpm | ping | win_updates |
yum | service | selinux | win_group |
apt | group | setup | win_user |
apt_key | user | win_ping |
引数: 選択したモジュールで使用する引数を指定します。
制限: インベントリー内のホストをターゲットに設定するために使用される制限を入力します。インベントリー内のすべてのホストをターゲットに設定するには、all
または *
を入力するか、またはフィールドを空白にします。これには、起動ボタンのクリック前の直前のビューで選択された内容が自動的に設定されます。
マシンの認証情報: コマンドを実行するためにリモートホストにアクセスする際に使用する認証情報を選択します。Ansible がリモートホストにログインするために必要なユーザー名および SSH キーまたはパスワードが含まれる認証情報を選択します。
権限昇格の有効化: 有効にされている場合、Playbook は管理者権限を使用して実行されます。これは --become
オプションを ansible
コマンドに渡すことに相当します。
詳細: 標準出力の詳細レベルを選択します。
フォーク: 必要な場合には、コマンドの実行中に使用する並列または同時プロセスの数を選択します。
ボタンをクリックして、このアドホックコマンドを実行します。
注釈
Ansible Tower 2.2 で新機能として導入されたシステムトラッキングは、Enterprise レベルのライセンスを持つユーザーのみが利用できます。
システムトラッキングは、1 つのホストで異なる日にスキャンを実行した場合や 2 つのホストで同じ日にスキャンを実行した場合など、2 回のスキャン実行の結果を比較します。
データはファクトモジュール別に分類されます。
- Packages
- Services
- Files
- Ansible
- Custom
Tower は、データを見つけるためにすべてのことを試行するように設計されています。スキャン実行を指定せずに日付を選択する場合、Tower は昨年の 1 年分に相当するスキャン実行のデータを収集して組み込むべき日付を確認します。比較が正確に行われる場合には、指定した日ではなく選択可能な日からの結果が表示されます。比較が正常に行われない場合には、失敗した理由を示すメッセージが表示されます。
注釈
サービスのスキャンジョブは、同じ物理マシンをポイントするホストを含むインベントリーに対しては実行することができません。
2 つの日付での比較を行うためにインベントリーで単一ホストを選択してから ボタンをクリックします。
注釈
スキャンするように設定されたジョブテンプレートを作成していない場合は、適切なジョブテンプレートが作成されるまで次に進むことができません。
ホストのスキャンデータのある2 つの日付を選択します。左側に最も古い日付を、右側に最新の日付を並べます。
相違点を比較するモジュール (Packages、Services、または Ansible) を選択します。モジュールを変更するには、ボタンナビゲーションでモジュールのボタンをクリックし、ファクトのタイプ別にフィルターします。「packages」および「services」については変更のみが表示され、「ansible」および「files」モジュールの変更における相違点は赤色で強調表示されます。
単一の日付に実行される複数のスキャン実行を比較する場合には、どちらのデータセレクターでも同じ日付を選択することができます。2 つ以上のスキャンジョブの実行が特定の日について検出される場合、Tower は最新のジョブと次にに最新のジョブを比較します。選択した日付に 1 回の実行のみが設定される場合、Tower はいずれかの列でスキャンジョブを見つけられなかったことを示すメッセージを表示する可能性があります (Ansible Tower Release Notes マニュアルの Known Issues にも記載されています)。
選択した日付について検出されたスキャンが同一の場合、Tower はスキャンされたすべてのファクトの単一の結果を表示することに注意してください。
例として、ユーザーが両方の日付として「7/7/2015」を選択し、「packages」モジュールを選択したとします。また、2 回の実行がこの日に実行されたものの、選択したホストのパッケージには変更がなかったとします。ユーザーにはこれらのスキャンが同一であることを示すメッセージが表示され、相違点についての 2 つの列の一覧表示ではなく、すべてのパッケージのバージョンを含む単一の列が表示されます。
2 つのホストを比較するには、ホストを選択してから ボタンをクリックします。
2 つのホストの比較に使用する単一の日付を選択します。次に、相違点を表示するモジュールを選択します。
Tower は両方のホストについて単一の日付を選択することのみをサポートしますが、結果には異なる日付が表示される場合があることに気づかれるかもしれません。ここでも Tower はすべてのことを試行してデータを見つけようとすることに留意してください。スキャン実行を指定せずに日付を選択する場合、Tower は昨年の 1 年分に相当するスキャン実行のデータを収集して組み込むべき日付を確認します。「packages」および「services」については変更のみが表示され、「ansible」および「files」モジュールの変更の相違点は赤色で強調表示されることに注意してください。