5 生産資源の設定
この章では、Oracle Linux Automation ManagerとOracle Linux Automation Engineプレイブックおよびインベントリの間のプライマリ構成のタッチ・ポイントであるリソースを設定する方法について説明します。 これらのリソースは、プロジェクト、インベントリ、資格証明、ジョブ・テンプレートおよびワークフロー・テンプレートです。
プロジェクトの設定
プロジェクトは、Oracle Linux Automation Engineプレイブックのリポジトリを表すリソースです。 リポジトリは、ローカルにすることも、Gitなどのリモートのソース・コード管理(SCM)システム上にすることもできます。
プロジェクトを作成するには、次を実行します。
-
Oracle Linux Automation Managerにログインします。
-
左側のメニューを展開し、「リソース」セクションで「プロジェクト」をクリックします。
「プロジェクト」ページが表示されます。
-
「プラス」アイコンをクリックします。
「新規プロジェクト」ページが表示されます。
-
「名前」フィールドに、名前を入力します。
-
「組織」リストから、組織(Organization 1など)を選択します。
-
SCMタイプ・リストから、次のいずれかを選択します。
-
Oracle Linux Automation Managerをホストするマシンにあるプレイブックを使用する場合は、「手動」を選択します。 詳細については、「ローカルOracle Linux Automation Engineプレイブックへのアクセス」を参照してください。
-
Gitなどのリモート・リポジトリからプレイブックを使用する場合は、「Git」を選択します。 ソース詳細および資格証明の設定の詳細は、「GitのリモートOracle Linux Automation Engineプレイブックへのアクセス」を参照してください。
-
-
「保存」をクリックします。
ローカルのOracle Linux Automation Engineプレイブックへのアクセス
ローカルプレイブックにアクセスするには、次を実行します。
-
Oracle Linux Automation Engineプレイブックを格納するディレクトリを作成します。 デフォルトの場所は
/var/lib/ol-automation-manager/projects
です。 -
ディレクトリにプレイブック・ファイルをコピーまたは作成します。 サンプル・プレイブックについては、
/var/lib/ol-automation-manager/projects/demo_bundled
を参照してください。 -
Oracle Linux Automation Managerで使用するものと同じユーザー、グループおよび権限にプレイブックのディレクトリとファイルを設定します。
ノート:
プロジェクト・パスの追加中に問題が発生する場合は、SELinux権限およびコンテキスト設定を確認してください。
GitでのリモートのOracle Linux Automation Engineプレイブックへのアクセス
Gitは分散バージョンの制御システムで、これに含まれるリポジトリには、プロジェクトの一部としてOracle Linux Automation ManagerシステムにクローニングできるOracle Linux Automation Engineプレイブックを格納できます。
Gitでリモート・プレイブックにアクセスするには、次を実行します。
-
新しいGitリポジトリを設定するか、リモートGitサーバーで既存のGitリポジトリを使用します。
たとえば、Githubは、パブリックAnsibleサンプル・プロジェクトをホストします(https://github.com/ansible/ansible-examples)。注意:
これはパブリック・リポジトリであるため、そこに含まれる例についてオラクル社は責任を負いません。
-
SSH認証が必要なプライベート・リポジトリを使用する場合は、Oracle Linux Automation Managerを実行しているシステムでSSH秘密キーと公開キーを設定し、公開キーをGitユーザー・アカウントにコピーする必要があります。
-
Oracle Linux Automation Manager UIに戻り、「新規プロジェクト」ページの「SCM URL」フィールドに、SCMリポジトリへのURLを入力します。
-
「SCMブランチ」/「タグ」/「コミット」フィールドにSCMブランチ、タグまたはコミットを指定する必要がある場合は、ブランチ、タグまたはコミット・ハッシュを入力します。
-
ブランチからrefspecを取得する必要がある場合は、「SCM Refspec」フィールドにrefspecを入力します。
-
指定したGitリポジトリがプライベートで、アクセスに資格証明が必要な場合は、SCM資格証明リストから資格証明を選択します。 資格証明の設定の詳細は、「資格証明の設定」を参照してください。
-
Oracle Linux Automation Managerでプロキシを介してGitリポジトリにアクセスする必要がある場合は、左側のメニューを展開し、「管理」セクションで「設定」をクリックします。
設定ページが表示されます。
-
「ジョブ」をクリックします。
「ジョブ」ページが表示されます。
-
追加の環境変数フィールドに、次のように入力します。
{ "https_proxy": "proxy_address:proxy_port" }
前の例では、proxy_addressはプロキシ・アドレス、proxy_portはプロキシのポートです。
-
「保存」をクリックします。
ノート:
Oracle Linux Automation EngineプレイブックでOCI Ansibleコレクションを使用する場合は、https://docs.oracle.com/iaas/Content/API/SDKDocs/ansible.htmを参照し、AWXに関連する設定手順を確認してください。
インベントリおよびホストの設定
次の各項では、インベントリおよびホストの設定について説明します。
インベントリの設定
-
Oracle Linux Automation Managerにログインします。
-
ナビゲーション・メニューを展開し、「リソース」セクションで「インベントリ」をクリックします。
「インベントリ」ページが表示されます。
-
「プラス」アイコンをクリックします。
-
「インベントリ」をクリックします。
新規インベントリ・ページが表示されます。
-
「名前」フィールドに、名前を入力します。
-
「組織」リストから、組織を選択します。
-
インベントリ変数を指定する場合は、「変数」フィールドにYAMLまたはJSONコードを入力します。
-
「保存」をクリックします。
ホストの設定
ホストを設定するには、次を実行します。
-
インベントリから、「ホスト」ボタンをクリックします。
ホスト・ページが表示されます
-
「プラス」アイコンをクリックします。
ホストの作成ページが表示されます。
-
「ホスト名」フィールドに、接続先のシステムのIPアドレスまたはホスト名を入力します。 ホストにアクセスできる必要があります。
-
「保存」をクリックします。
-
この画面から追加のホストを作成するには、「プラス」アイコンをクリックし、ステップ3および4を繰り返します。
ホストに対する1回かぎりのコマンドの実行
インベントリ内の1つ以上のホストに対してOracle Linux Automation Engine組込みモジュールを使用して単一のコマンドを実行するには(コマンドラインでモジュールを実行するときと同様)、次を実行します。
-
インベントリから、「ホスト」ボタンをクリックします。
「ホスト」ページが表示され、インベントリに関連付けられているすべてのホストがリストされます。
-
左側にある1つ以上のホストの横にあるチェック・ボックスを選択します。
「コマンドの実行」ボタンが使用可能になります。
-
「コマンドの実行」ボタンをクリックします。
「コマンドの実行」ページが表示されます。
-
「モジュール」リストから、モジュールを選択します。 たとえば、pingです。
-
「引数」フィールドで、選択したモジュールに必要なすべての引数を入力します。
-
マシン資格証明リストから、マシンの資格証明を選択します。 資格証明の設定の詳細は、「資格証明の設定」を参照してください。
-
「起動」をクリックします。
「ジョブ」ページが表示され、ジョブ操作がリアルタイムに表示されて、最終的に「成功」または「失敗」のステータスが表示されます。
資格証明の設定
次の各項では、Oracle Linux Automation Managerでの様々な種類の資格証明の設定について説明します。
Git資格証明の設定
-
Oracle Linux Automation Managerにログインします。
-
ナビゲーション・メニューを展開し、「リソース」セクションで「資格証明」をクリックします。
「資格証明」ページが表示されます。
-
「プラス」アイコンをクリックします。
「新規資格証明」ページが表示されます。
-
「名前」フィールドに、資格証明の名前を入力します。
-
「組織」リストから、組織を選択します。
-
「資格証明タイプ」リストから、「ソース・コントロール」を選択します。
-
必要に応じて、「ユーザー名」フィールドにユーザー名を入力します。
-
必要に応じて、「パスワード」フィールドにパスワードを入力します。
-
SCM秘密キー・フィールドに、Oracle Linux Automation Managerを実行しているホストに設定したSSH秘密キーを入力します。 (SSH認証を使用する場合)。
-
「秘密キーのパスフレーズ」リストから、パスフレーズを入力します。 (SSH認証用のパスフレーズを設定している場合)。
-
「保存」をクリックします。
インベントリ・マシン資格証明の設定
-
Oracle Linux Automation Managerにログインします。
-
ナビゲーション・メニューを展開し、「リソース」セクションで「資格証明」をクリックします。
「資格証明」ページが表示されます。
-
「プラス」アイコンをクリックします。
「新規資格証明」ページが表示されます。
-
「名前」フィールドに、資格証明の名前を入力します。
-
「組織」リストから、組織を選択します。
-
「資格証明タイプ」リストから、「マシン」を選択します。
-
必要に応じて、「ユーザー名」フィールドにユーザー名を入力します。
-
必要に応じて、「パスワード」フィールドにパスワードを入力します。
-
インベントリに対してジョブ・テンプレートまたはジョブ・ワークフローを起動したときにパスワード・プロンプトが表示されるようにする場合は、「パスワード」フィールドの上にある起動時にプロンプトを表示チェック・ボックスを選択します。
-
「SSH秘密キー」フィールドに、Oracle Linux Automation Engineを実行しているホストに設定したSSH秘密キーを入力します。 (SSH認証を使用する場合)。
-
必要に応じて、署名付きSSH証明書フィールドに署名付きSSH証明書を入力します。
-
「秘密キーのパスフレーズ」リストから、パスフレーズを入力します。 (SSH認証用のパスフレーズを設定している場合)。
-
インベントリに対してジョブ・テンプレートまたはジョブ・ワークフローを起動したときに秘密キーのパスフレーズ・プロンプトが表示されるようにする場合は、「秘密キーのパスフレーズ」フィールドの上にある起動時にプロンプトを表示チェック・ボックスを選択します。
-
マシンで実行するプレイブックにsudoなどのエスカレーション・メソッドが必要な場合は、権限エスカレーション・メソッド・リストからエスカレーション・メソッドを選択します。
-
必要に応じて、権限エスカレーション・ユーザー名フィールドにユーザー名を入力します。
-
必要に応じて、権限エスカレーション・パスワード・フィールドにパスワードを入力します。
-
インベントリに対してジョブ・テンプレートまたはジョブ・ワークフローを起動したときにパスワード・プロンプトが表示されるようにする場合は、権限エスカレーション・パスワード・フィールドの上にある起動時にプロンプトを表示を選択します。
-
「保存」をクリックします。
資格証明権限の設定
資格証明を使用する権限を付与するユーザーを指定するには、次を実行します。
-
Oracle Linux Automation Managerにログインします。
-
ナビゲーション・メニューを展開し、「リソース」セクションで「資格証明」をクリックします。
「資格証明」ページが表示されます。
-
既存の資格証明を選択します。
「資格証明の編集」ページが表示されます。
-
「権限」ボタンをクリックします。
「資格証明の編集」/「権限の編集」ページが表示されます。
-
「プラス」アイコンをクリックします。
ユーザー / チームの追加ページが表示されます。
-
「ユーザー」ボタンをクリックします。
使用可能なユーザーのリストが表示されます。ノート:
完全な管理者権限を持つユーザーは、Oracle Linux Automation Managerのすべてのエンティティに対する権限を持つため表示されません。
-
左側の列から、資格証明を使用する権限を付与する各ユーザーの横にあるチェック・ボックスを選択します。
-
「チーム」ボタンをクリックします。
使用可能なチームのリストが表示されます。
-
左側の列から、資格証明を使用する権限を付与する各チームの横にあるチェック・ボックスを選択します。
-
「保存」をクリックします。
ジョブ・テンプレートの設定
次の各項では、ジョブ・テンプレートおよびワークフロー・テンプレートの設定について説明します。
ジョブ・テンプレートの設定
ジョブ・テンプレートを使用すると、インベントリに含まれるホストに対するプロジェクトに関連付けられたOracle Linux Automation Engineプレイブック・タスクを実行できます。 ジョブ・テンプレートから、次を指定することもできます。
-
権限: ジョブを実行できるチーム、ユーザーまたはその両方。
-
通知: ジョブ・テンプレートによってトリガーされる通知。
-
完了したジョブ: すべての完了したジョブのリスト。
-
スケジュール: ジョブを実行するスケジュールのリスト。
ジョブ・テンプレートを設定するには、次を実行します。
-
Oracle Linux Automation Managerにログインします。
-
ナビゲーション・メニューを展開し、「リソース」セクションで「テンプレート」をクリックします。
テンプレート・ページが表示されます。
-
「プラス」アイコンをクリックします。
-
ジョブ・テンプレートを選択します。
新規ジョブ・テンプレート・ページが表示されます。
-
「詳細」ボタンをクリックします。
-
「名前」フィールドに、名前を入力します。
-
「ジョブ・タイプ」リストから、次のいずれかを選択します。
-
実行: Oracle Linux Automation Engineプレイブックを実行します。
-
チェック: Oracle Linux Automation Engineプレイブックがエラーなしで実行できることをチェックします。
-
-
「インベントリ」リストからインベントリを選択します。
-
「プロジェクト」リストからプロジェクトを選択します。 たとえば、yum更新を実行するか、またはインベントリにHTTPDを作成する、サンプルのYum Oracle Linux Automation Engineプレイブックを使用するプロジェクトを選択できます。
-
プレイブック・リストからプレイブックを選択します。 たとえば、サンプルのYum Oracle Linux Automation Engineプレイブックを使用する場合は、yum_update.yamlを選択します。
-
必要に応じて、「資格証明」リストから、選択したインベントリで指定されたホストにアクセスするために設定した資格証明を選択します。
-
「フォーク」フィールドで、スクロール矢印を使用し、許可されるフォーク数を選択します。 これは、Oracle Linux Automation Engineプレイブックの実行中に実行可能な並列または同時プロセスの数です。 空の値または1の値は、
/etc/ansible/ansible.cfg
で指定されたデフォルトを使用します。 -
必要に応じて、「制限」フィールドに、ジョブを実行できるインベントリで指定されたホストをさらに制限するホスト名またはIPアドレスを入力します。
-
「冗長性」リストから、ジョブ・テンプレートの実行時にOracle Linux Automation Managerによって表示される出力レベルを選択します。 オプションは次のとおりです。
-
0 (標準)
-
1 (詳細)
-
2 (より詳細)
-
3 (デバッグ)
-
4 (接続デバッグ)
-
5 (WinRMデバッグ)
-
-
ジョブ・タグ・フィールドに、1つ以上のジョブ・タグを入力します。 タグを使用すると、タグを含む大規模なプレイブックの一部を実行できます。 カンマを使用して各タグを区切ることで、複数のタグを指定できます。
-
スキップするタグ・フィールドに、スキップする1つ以上のジョブ・タグを入力します。 カンマを使用して各タグを区切ることで、複数のタグを指定できます。
-
「ラベル」フィールドに、ジョブを説明するラベルを入力します。 これらのラベルは、様々なOracle Linux Automation Managerビューで使用して、様々なジョブをソートできます。
-
「インスタンス・グループ」リストから、Oracle Linux Automation Managerをインストールしたときに作成したインスタンス・グループを選択します。
-
ジョブ・スライス・フィールドで、スクロール矢印を使用して、許可されるジョブ・スライスの数を選択します。 ジョブ・スライスを使用すると、ジョブ・テンプレートによって行われた作業を指定された数のジョブ・スライスに分割でき、各ジョブ・スライスでは、インベントリの一部に対して同じタスクが実行されます。
-
「タイムアウト」フィールドで、スクロール矢印を使用して、ジョブがタイムアウトになるまでの秒数を選択します。
-
「変更の表示」を有効にして、Oracle Linux Automation Engineタスクによって行われた変更をジョブ出力に表示します。
-
Oracle Linux Automation Engineプレイブックの起動時に特定のフィールドのプロンプトを含むダイアログを表示する場合は、表示するフィールドの上にある起動時にプロンプトを表示チェック・ボックスを選択します。
-
必要に応じて、次のオプションを選択します。
-
権限エスカレーションの有効化: プレイブックは管理者権限で実行されます。
-
プロビジョニング・コールバックの有効化: ホストがこのジョブ・テンプレートを使用して構成更新Oracle Linux Automation Managerをリクエストできるように、プロビジョニング・コールバックURLを作成します。
-
Webフックの有効化: プレイブックでWebフックが有効になります。
-
同時ジョブの有効化: Oracle Linux Automation Managerで、ジョブ・テンプレートの複数のインスタンスを同時に実行できます。
-
ファクト・キャッシュの有効化: 使用可能な場合はキャッシュされたファクトを使用し、検出されたファクトをキャッシュに格納します。
-
-
任意の変数をOracle Linux Automation Engineプレイブックに渡す場合は、追加の変数フィールドにYAMLまたはJSONコードを入力します。
-
「保存」をクリックします。
サンプル・プレイブックの設定と実行
Oracle Linux Automation Managerをインストールすると、サンプルのOracle Linux Automation Engineプレイブックも/var/lib/ol-automation-manager/projects/demo_bundled
ディレクトリに含まれます。 このディレクトリには、次のプレイブックが含まれます。
-
httpd.yaml
: このプレイブックは、ターゲット・インベントリにApache HTTPサーバーをインストールします。 -
yum_update.yaml
: このプレイブックは、ターゲット・インベントリでyum更新を実行します。
管理ユーザーとしてこれらのプレイブックを設定して実行するには、次を実行します。
-
管理ユーザーとしてOracle Linux Automation Managerにログインします。
-
サンプルYumやApache組織など、組織を設定します。詳細は、「組織の設定」を参照してください。
-
必要に応じて、サンプルYumやApacheホスト資格証明など、プレイブックを実行するホストの資格証明を設定します。 詳細は、「インベントリ・マシン資格証明の設定」を参照してください。
-
左側のメニューを展開し、「リソース」セクションで「プロジェクト」をクリックします。
「プロジェクト」ページが表示されます。
-
「プラス」アイコンをクリックします。
「新規プロジェクト」ページが表示されます。
-
「名前」フィールドに、名前(サンプルYumやApacheプロジェクトなど)を入力します。
-
「組織」リストから、作成した組織(サンプルYumやApache Orgなど)を選択します。
-
SCMタイプ・リストから、「手動」を選択します。
プロジェクト・ベース・パス・フィールドには、デフォルトのプロジェクト・ベース・パス(
/var/lib/ol-automation-manager/projects
)が表示されます。 -
プレイブック・ディレクトリ・リストから、demo_bundledを選択します。
-
「保存」をクリックします。
-
左側のメニューを展開し、「リソース」セクションで「インベントリ」をクリックします。
「インベントリ」ページが表示されます。
-
「プラス」アイコンをクリックします。
新規インベントリ・ページが表示されます。
-
「名前」フィールドに、名前(サンプルYumやApacheインベントリなど)を入力します。
-
「組織」リストから、作成した組織(サンプルYumやApache Orgなど)を選択します。
-
「保存」をクリックします。
-
「ホスト」をクリックします。
-
「プラス」アイコンをクリックします。
ホストの作成ページが表示されます。
-
「ホスト名」フィールドに、ホスト名またはIPアドレスを入力します。 ホストにアクセスできる必要があります。
-
「保存」をクリックします。
-
ナビゲーション・メニューを展開し、「リソース」セクションで「テンプレート」をクリックします。
テンプレート・ページが表示されます。
-
「プラス」アイコンをクリックします。
-
ジョブ・テンプレートを選択します。
新規ジョブ・テンプレート・ページが表示されます。
-
「詳細」ボタンをクリックします。
-
「名前」フィールドに、名前(サンプルYumやApacheジョブなど)を入力します。
-
「ジョブ・タイプ」リストから、「実行」を選択します。
-
「インベントリ」リストからインベントリ(サンプルYumやApacheインベントリなど)を選択します。
-
「プロジェクト」リストから、プロジェクト(サンプルYumやApacheプロジェクトなど)を選択します。
-
Playbookリストから、ホストでyum更新を実行する場合はyum_update.yaml、ホストでApacheインスタンスを設定する場合はhttpd.yamlを選択します。
-
「資格証明」リストから、資格証明(サンプルYumやApacheホスト資格証明など)を選択します。
-
「冗長性」リストから、「0 (標準)」を選択します。
-
httpd.yamlプレイブックを実行している場合は、権限エスカレーションの有効化を有効にして、プレイブックが管理者権限で実行されるようにします。
-
「保存」をクリックします。
-
「起動」をクリックします。