3.3. Red Hat Ansible Lightspeed オンプレミスデプロイメントのセットアップ
Red Hat Ansible Automation Platform の管理者は、Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップし、それを IBM watsonx Code Assistant インスタンスに接続できます。オンプレミスデプロイメントを正常に完了したら、Ansible Visual Studio (VS) Code 拡張機能を使用して Ansible Lightspeed サービスの使用を開始できます。
以下の機能は、Red Hat Ansible Lightspeed オンプレミスデプロイメントではまだサポートされていません。
- Playbook の生成と Playbook の説明の表示
- 管理者ダッシュボードでのテレメトリーデータの表示
Red Hat Ansible Lightspeed オンプレミスデプロイメントは、Red Hat Ansible Automation Platform バージョン 2.4 でサポートされています。
3.3.1. 概要
このセクションでは、Red Hat Ansible Lightspeed オンプレミスデプロイメントのシステム要件、前提条件、およびセットアッププロセスについて説明します。
3.3.1.1. システム要件
Red Hat Ansible Lightspeed オンプレミスデプロイメントをインストールして実行するには、システムが次の最小システム要件を満たしている必要があります。
要件 | 最小要件 |
---|---|
RAM | 5 GB |
CPU | 1 |
ローカルディスク | 40 GB |
Red Hat Ansible Automation Platform の残りのシステム要件を確認するには、Red Hat Ansible Automation Platform 計画ガイド の トピックシステム 要件 を参照してください。
また、Cloud Pak for Data に IBM watsonx Code Assistant for Red Hat Ansible Lightspeed がインストールされている必要があります。Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップするために使用できる基本モデルもインストールしてください。インストール情報については、watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のドキュメント を参照してください。
3.3.1.2. 前提条件
- Red Hat Ansible Automation Platform の管理者権限を持っている。
- Cloud Pak for Data に Red Hat Ansible Lightspeed 用の IBM watsonx Code Assistant がインストールされている。
- お使いのシステムが、Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップするための最小システム要件を満たしている。
IBM watsonx Code Assistant から API キーとモデル ID を取得した。
IBM watsonx Code Assistant から API キーとモデル ID を取得する方法については、IBM watsonx Code Assistant のドキュメント を参照してください。IBM watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のインストールについては、watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のドキュメント を参照してください。
- Red Hat Ansible Automation Platform 用に設定された既存の外部 PostgreSQL データベースがある。または、Red Hat Ansible Lightspeed オンプレミスデプロイメントを設定するときに作成されたデータベースがある。
3.3.1.3. Red Hat Ansible Lightspeed オンプレミスデプロイメントを設定するプロセス
Red Hat Ansible Lightspeed オンプレミスデプロイメントをインストールして設定するには、次のタスクを実行します。
- Red Hat Ansible Automation Platform Operator をインストールする
- OAuth アプリケーションを作成する
- Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の接続シークレットを作成する
- Red Hat Ansible Lightspeed インスタンスを作成してデプロイする
- Redirect URI を更新して、Red Hat Ansible Lightspeed オンプレミスデプロイメントに接続する
- Ansible Visual Studio Code 拡張機能をインストールして設定し、Red Hat Ansible Lightspeed オンプレミスデプロイメントに接続する
- オプション: 別の IBM watsonx コードアシスタントに接続する場合は、既存の Red Hat Ansible Automation Platform Operator の接続シークレットを更新する
- オプション: Red Hat Ansible Lightspeed オンプレミスデプロイメントをモニターします。
3.3.2. Red Hat Ansible Automation Platform Operator のインストール
この手順を使用して、Red Hat OpenShift Container Platform に Ansible Automation Platform Operator をインストールします。
前提条件
- Automation Controller をインストールして設定している。
手順
- Red Hat OpenShift Container Platform に管理者としてログインします。
namespace を作成します。
-
に移動します。 - Create Namespace をクリックします。
- namespace の一意の名前を入力します。
- Create をクリックします。
-
Operator をインストールします。
-
に移動します。 - Red Hat Ansible Automation Platform Operator をインストールする namespace を選択します。
- Ansible Automation Platform Operator を検索します。
- 検索結果から、Ansible Automation Platform (provided by Red Hat) タイルを選択します。
- Update Channel を選択します。チャネルとして stable-2.x または stable-2.x-cluster-scoped のいずれかを選択できます。
- 更新チャネルとして “stable-2.x” を選択した場合は、宛先 namespace を選択します。
- Install を選択します。Operator のインストールには数分かかります。
-
- View Operator をクリックすると、新しくインストールされた Red Hat Ansible Automation Platform Operator の詳細が表示されます。
3.3.3. OAuth アプリケーションの作成
この手順を使用して、Red Hat Ansible Lightspeed オンプレミスデプロイメント用の OAuth アプリケーションを作成します。
前提条件
- Ansible Automation Controller の稼働中のインスタンスがある。
手順
- Automation Controller に管理者としてログインします。
-
Administration で、
をクリックします。 以下の情報を入力します。
- Name: アプリケーションの一意の名前を指定します。
- Organization: 任意の組織を選択します。
- Authorization grant type: Authorization code を選択します。
Redirect URIs: ひとまず一時的な URL を入力しておきます (例:
https://temp/
)。オンプレミスのデプロイメントが完了すると、正確な Red Hat Ansible Lightspeed アプリケーション URL が生成されます。デプロイメントが完了したら、生成された Red Hat Ansible Lightspeed アプリケーション URL を参照するように Redirect URI を変更する必要があります。詳細は、Redirect URIs の更新 を参照してください。
- Client type リストから、Confidential を選択します。
Save をクリックします。
ポップアップウィンドウに、生成されたアプリケーションクライアント ID とクライアントシークレットが表示されます。
生成されたクライアント ID とクライアントシークレットの両方をコピーして保存し、後で使用できるようにします。
重要ポップアップウィンドウは、このときにしか表示されません。そのため、必ずクライアント ID とクライアントシークレットの両方をコピーしてください。これらのトークンは、Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の接続シークレットを作成するのに必要です。
次のイメージは、生成されたクライアント ID とクライアントシークレットの例です。
3.3.4. 接続シークレットの作成
Red Hat Ansible Automation Platform に接続するには、認証シークレットと、IBM watsonx Code Assistant に接続するには、モデルシークレットを作成する必要があります。カスタム認証局を信頼する必要がある場合は、バンドルのシークレットを作成する必要があります。
前提条件
- Red Hat OpenShift Container Platform に Ansible Automation Platform Operator をインストールした。
- Automation Controller に OAuth アプリケーションを作成した。
IBM watsonx Code Assistant から API キーとモデル ID を取得した。
IBM watsonx Code Assistant から API キーとモデル ID を取得する方法については、IBM watsonx Code Assistant のドキュメント を参照してください。IBM watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のインストールについては、watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data のドキュメント を参照してください。
3.3.4.1. 承認およびモデルシークレットの作成
この手順を使用して、Red Hat Ansible Automation Platform および IBM watsonx Code Assistant に接続するためのシークレットを作成します。
手順
- Red Hat OpenShift Container Platform にアクセスします。
-
を選択します。 -
をクリックします。 - Projects リストから、Red Hat Ansible Automation Platform Operator をインストールしたときに作成した namespace を選択します。
Red Hat Ansible Automation Platform に接続するための 認可シークレット を作成します。
-
をクリックします。 -
Secret name に、シークレットの一意の名前を入力します。たとえば、
auth-aiconnect
です。 次のキーと、キーに関連付ける値を個別に追加します。
キー 値 auth_api_url
Automation Controller の API URL を
https://<CONTROLLER_SERVER_NAME>/api
という形式で入力します。auth_api_key
先ほど記録した OAuth アプリケーションのクライアント ID を入力します。
auth_api_secret
先ほど記録した OAuth アプリケーションのクライアントシークレットを入力します。
auth_allowed_hosts
サービスにアクセスできるホストを制限するために、基盤となる Django フレームワークで使用されるホスト名/ドメイン名を表す文字列のリストを入力します。これは、HTTP ホストヘッダー攻撃を防ぐためのセキュリティー対策です。詳細は、Django ドキュメントの Allowed hosts を参照してください。
auth_verify_ssl
値に
true
を入力します。重要値フィールドに空白文字 (余分な行、スペースなど) を誤って追加しないようにしてください。シークレットに余分な文字や誤った文字が含まれていると、Red Hat Ansible Automation Platform への接続が失敗します。
Create をクリックします。
次の画像は認可シークレットの例です。
-
同様に、IBM watsonx Code Assistant モデルに接続するための モデルシークレット を作成します。
-
をクリックします。 -
Secret name に、シークレットの一意の名前を入力します。たとえば、
model-aiconnect
です。 次のキーと、キーに関連付ける値を個別に追加します。
キー 値 username
IBM Cloud Pak for Data デプロイメントに接続するために使用するユーザー名を入力します。
model_type
IBM Cloud Pak for Data デプロイメントに接続するには、
wca-onprem
と入力します。model_url
IBM watsonx Code Assistant の URL を入力します。
model_api_key
IBM Cloud Pak for Data デプロイメントの IBM watsonx Code Assistant モデルの API キーを入力します。
model_id
IBM Cloud Pak for Data デプロイメントの IBM watsonx Code Assistant モデルのモデル ID を入力します。
重要値フィールドに空白文字 (余分な行、スペースなど) を誤って追加しないようにしてください。シークレットに余分な文字や誤った文字が含まれていると、IBM watsonx Code Assistant への接続が失敗します。
- Create をクリックします。
-
認証およびモデルのシークレットを作成したら、Red Hat Ansible Lightspeed インスタンスを作成してデプロイする際にシークレットを 選択する必要があります。
3.3.4.2. カスタム認証局を信頼するためのバンドルシークレットの作成
カスタム認証局を信頼する必要がある場合、Red Hat Ansible Lightspeed インスタンス向けにいくつかの変数をカスタマイズできます。カスタム認証局を信頼すると、Red Hat Ansible Lightspeed インスタンスは、HTTPS 経由で内部 Git サーバーからのプロジェクトのクローン作成など、ローカルで発行された SSL 証明書を使用して設定されたネットワークサービスにアクセスできるようになります。
プロジェクトの同期時に以下のエラーが発生した場合は、変数のカスタマイズが必要であることを示しています。
fatal: unable to access 'https://private.repo./mine/ansible-rulebook.git': SSL certificate problem: unable to get local issuer certificate
手順
以下のいずれかの方法を使用して CLI を使用してカスタムバンドルシークレットを作成します。
認証局シークレットの使用
以下のコマンドを使用して
bundle_cacert_secret
を作成します。# kubectl create secret generic <resourcename>-custom-certs \ --from-file=bundle-ca.crt=<PATH/TO/YOUR/CA/PEM/FILE> 1
ここでは、以下のようになります。
<1>: 自己署名証明書のパス。自己署名証明書を保存する場所を指すファイルパスを変更します。Red Hat Ansible Lightspeed インスタンスは、指定された
bundle_cacert_secret
シークレットでデータフィールドbundle-ca.crt
を検索します。以下は、バンドル CA 証明書の例です。
spec: ... bundle_cacert_secret: <resourcename>-custom-certs
kustomization.yaml
設定ファイルの使用以下のコマンドを使用します。
secretGenerator: - name: <resourcename>-custom-certs files: - bundle-ca.crt=<path+filename> options: disableNameSuffixHash: true
<<<<<< HEAD <<<<<<< HEAD バンドルシークレットを 作成したら、Red Hat Ansible Lightspeed インスタンスを作成およびデプロイ するときにシークレットを選択する必要があります。
バンドルシークレットを作成したら、Red Hat Ansible Lightspeed インスタンスを作成してデプロイするときにシークレットを選択する必要があり ます。>>>>>>>> 1422e7a5 (AAP-25298: 解決済みのマージ競合)
バンドルシークレットを作成したら、Red Hat Ansible Lightspeed インスタンスを作成してデプロイ するときにシークレットを選択する必要があります。>>>>>>>> 63f14fee (AAP-25298: 2nd attempt to resolve merge conflict)
3.3.5. Red Hat Ansible Lightspeed インスタンスの作成とデプロイ
この手順を使用して、Red Hat Ansible Lightspeed インスタンスを作成し、namespace にデプロイします。
前提条件
- Red Hat Ansible Automation Platform と IBM watsonx Code Assistant の両方の接続シークレットを作成した。
手順
- Red Hat OpenShift Container Platform にアクセスします。
-
を選択します。 - Projects リストから、Red Hat Ansible Lightspeed インスタンスをインストールし、接続シークレットを作成した namespace を選択します。
- 先ほどインストールした Ansible Automation Platform (provided by Red Hat) Operator を探して選択します。
-
を選択します。 - Create new リストから、Ansible Lightspeed モーダルを選択します。
- 設定モードとして Form view が選択されていることを確認します。
次の情報を指定します。
- Name: Red Hat Ansible Lightspeed インスタンスの一意の名前を入力します。
- Secret where the authentication information can be found: Red Hat Ansible Automation Platform に接続するために作成した認証シークレットを選択します。
- Secret where the model configuration can be found: IBM watsonx Code Assistant に接続するために作成したモデルシークレットを選択します。
Create をクリックします。
Red Hat Ansible Lightspeed インスタンスを namespace にデプロイするには数分かかります。インストールステータスが Successful と表示されたら、Red Hat OpenShift Container Platform の
で Ansible Lightspeed ポータル URL を取得できるようになります。
3.3.6. Redirect URIs の更新
Ansible ユーザーが Ansible Lightspeed サービスにログインまたはログアウトすると、Red Hat Ansible Automation Platform がユーザーのブラウザーを指定 URL にリダイレクトします。ユーザーがアプリケーションに正常にログインおよびログアウトできるように、リダイレクト URL を設定する必要があります。
前提条件
- Red Hat Ansible Lightspeed インスタンスを作成して namespace にデプロイした。
手順
Ansible Lightspeed インスタンスの URL を取得します。
- Red Hat OpenShift Container Platform にアクセスします。
-
の順に選択します。 - 作成した Red Hat Ansible Lightspeed インスタンスを見つけます。
- Red Hat Ansible Lightspeed インスタンスの Location URL をコピーします。
logout リダイレクト URI を更新します。
-
Automation Controller で、
に移動します。 - 作成した Lightspeed Oauth アプリケーションを選択します。
Oauth アプリケーションの Redirect URIs フィールドに、次の形式で URL を入力します。
https://<lightspeed_route>/complete/aap/
URL の例は
https://lightspeed-on-prem-web-service.com/complete/aap/
です。重要リダイレクト URL には次の情報が含まれている必要があります。
-
接頭辞
https://
-
<lightspeed_route>
URL (先ほどコピーした Red Hat Ansible Lightspeed インスタンスの URL) -
末尾のバックスラッシュ記号 (/) を含む接尾辞
/complete/aap/
-
接頭辞
- Save をクリックします。
-
Automation Controller で、
logout リダイレクト URI を更新します。
- Red Hat Ansible Automation Platform インスタンスが実行されているクラスターにログインします。
- AutomationController カスタムリソースを特定します。
- [YAML view] を選択します。
YAML ファイルに次のエントリーを追加します。
```yaml spec: ... extra_settings: - setting: LOGOUT_ALLOWED_HOSTS value: "'<lightspeed_route-HostName>'" ```
重要value:
パラメーターを指定する際には、必ず以下を行ってください。https://
など、ネットワークプロトコルなしでホスト名を指定します。たとえば、正しいホスト名は
https://my-aiconnect-instance.somewhere.com
ではなく、my-aiconnect-instance.somewhere.com
になります。コードブロックで指定されているとおりに、一重引用符と二重引用符を正確に使用します。
一重引用符を二重引用符に変更したり、その逆を行ったりすると、ログアウト時にエラーが発生します。
Red Hat Ansible Lightspeed デプロイメントのインスタンスを複数指定するには、コンマを使用します。
単一の Red Hat Ansible Automation Platform デプロイメントで Red Hat Ansible Lightspeed アプリケーションのインスタンスを複数実行している場合は、コンマ (,) を追加してから、他のホスト名の値を追加します。たとえば、
"'my-lightspeed-instance1.somewhere.com','my-lightspeed-instance2.somewhere.com'"
のように複数のホスト名を追加できます。
- 変更した YAML を適用します。これにより、Automation Controller Pod が再起動します。
3.3.7. Red Hat Ansible Lightspeed オンプレミスデプロイメント用に Ansible VS Code 拡張機能を設定する
Red Hat Ansible Lightspeed のオンプレミスデプロイメントにアクセスするには、組織内のすべての Ansible ユーザーが、VS Code エディターに Ansible Visual Studio (VS) Code 拡張機能をインストールし、オンプレミスデプロイメントに接続するように拡張機能を設定する必要があります。
前提条件
- VS Code バージョン 1.70.1 以降がインストールされている。
手順
- VS Code アプリケーションを開きます。
- Activity バーから Extensions アイコンをクリックします。
- Installed Extensions リストから、Ansible を選択します。
-
Ansible 拡張機能ページで、Settings アイコン (
) をクリックし、Extension Settings を選択します。
Ansible Lightspeed 設定を選択し、次の情報を指定します。
- URL for Ansible Lightspeed フィールドに、Red Hat Ansible Lightspeed オンプレミスデプロイメントの Route URL を入力します。Ansible ユーザーは、Ansible Automation Platform コントローラーの認証情報を持っている必要があります。
オプション: デフォルトモデルの代わりにカスタムモデルを使用する場合は、Model ID Override フィールドにカスタムモデル ID を入力します。設定は自動的に VS Code に保存されます。
Ansible VS Code 拡張機能を Red Hat Ansible Lightspeed オンプレミスデプロイメントに接続するように設定した後、Ansible VS Code 拡張機能を介して Ansible Lightspeed にログイン する必要があります。
注記最近 Red Hat Ansible Automation Platform にサブスクライブしている場合は、Red Hat Ansible Lightspeed が新しいサブスクリプションを検出するまでに数時間かかる場合があります。VS Code で、アクティビティーバーの Ansible 拡張の Refresh ボタンを使用して、再度確認します。
3.3.8. 既存の Red Hat Ansible Automation Platform Operator の接続シークレットを更新する
Red Hat Ansible Lightspeed オンプレミスデプロイメントを正常にセットアップした後で、別の IBM watsonx Code Assistant モデルに接続する場合は、デプロイメントを変更できます。たとえば、デフォルトの IBM watsonx Code Assistant モデルに接続したが、代わりにカスタムモデルに接続するとします。別の IBM watsonx Code Assistant モデルに接続するには、新しい接続シークレットを作成し、既存の Red Hat Ansible Automation Platform Operator の接続シークレットとパラメーターを更新する必要があります。
前提条件
- Red Hat Ansible Lightspeed オンプレミスデプロイメントをセットアップした。
- 接続する IBM watsonx Code Assistant モデルの API キーとモデル ID を取得した。
- 接続先の IBM watsonx Code Assistant モデルの新しい認可シークレットとモデル接続シークレットを作成しました。認可認可シークレットとモデル接続シークレットの作成については、接続シークレットの作成 を参照してください。
手順
- Red Hat OpenShift Container Platform にアクセスします。
-
を選択します。 - Projects リストから、Red Hat Ansible Lightspeed インスタンスをインストールした namespace を選択します。
- 先ほどインストールした Ansible Automation Platform (provided by Red Hat) Operator を探して選択します。
- Ansible Lightspeed タブを選択します。
- 更新するインスタンスを見つけて選択します。
-
をクリックします。エディターはテキストまたは YAML ビューに切り替わります。 テキストをスクロールして
spec:
セクションを見つけます。)
- 変更して新しい名前で保存したシークレットのエントリーを見つけます。
- シークレットの名前を新しいシークレットに変更します。
Save をクリックします。
新しい Ansible Lightspeed Pod が作成されます。新しい Pod が正常に実行されると、古い Ansible Lightspeed Pod が終了します。
3.3.9. Red Hat Ansible Lightspeed オンプレミスデプロイメントのモニタリング
Red Hat Ansible Lightspeed オンプレミスデプロイメントが成功したら、次の手順を使用して API エンドポイント /
メトリクスのメトリクスを監視します。
手順
システム監査 ユーザーを作成します。
- Red Hat Ansible Automation Platform で システム auditor ロールを持つユーザーを作成します。Automation Controller ユーザーガイド の トピック Creating a user を参照してください。
-
新しく作成されたシステム auditor ユーザーとしてオンプレミスデプロイメント(
https://<lightspeed_route
>/)の Ansible Lightspeed ポータルにログインしてから、ログアウトできることを確認します。
システム監査 ユーザーのトークンを作成します。
以下の認証情報を使用して、オンプレミスデプロイメント(
https://<lightspeed_route>/admin
)用に Ansible Lightspeed ポータルにログインします。- ユーザー名: admin
-
Password: Red Hat Ansible Light
speed がデプロイされている Red Hat OpenShift Container Platform クラスター名前空間で <lightspeed-custom-resource-name>-admin-password
という名前のシークレット。
- Django 管理ウィンドウで、Users エリアから Users を選択します。ユーザーの一覧が表示されます。
- システム auditor ロールを持つユーザーが ユーザー リストに表示されていることを 確認 します。
-
Django Oauth ツールキットエリアから、
選択します。 次の情報を入力し、Save をクリックします。
- ユーザー:拡大 glass アイコンを使用して、システム監査者のロールを持つユーザーを検索して選択します。
- Token: ユーザーのトークンを指定します。このトークンは、後で使用するためにコピーします。
- ID token : トークン ID を選択します。
- アプリケーション: VS Code に Ansible Lightspeed を 選択します。
- Expires: トークンの有効期限が切れる日時を選択します。
Scope: スコープを 読み取り書き込み として指定します。
アクセストークンは、システム監査者のロールを持つユーザーに対して作成されます。
- オンプレミスデプロイメント用に Ansible Lightspeed ポータルからログアウトします。
-
システム auditor ロールを持つユーザーの認証トークンを使用して、メトリクスエンドポイント
https://<lightspeed_route>/metrics にアクセスするために、Red Hat Ansible Lightspeed
オンプレミスデプロイメントを監視します。