Pivotal Cloud Foundry 検出

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:16分
  • ServiceNow ディスカバリー アプリケーションでは、Pivotal Cloud Foundry パターンを使用して、Pivotal Cloud Foundry (PCF) バージョン 3 コンポーネントを検索します。 これらのリソースを検出するには、ServiceNow Store から ディスカバリーとサービスマッピングパターン アプリケーションをアップデートする必要があります。

    このパターンは、Kingston バージョン以降の Now Platform で使用できます。

    PCF V3 コンポーネントのディスカバリーは、ディスカバリーとサービスマッピングパターン プラグインバージョン 1.0.99 (2023 年 3 月) がインストールされている場合にサポートされます。パターンは、PCF V2 コンポーネントのディスカバリーを引き続きサポートします。

    ストアでアプリを要求する

    ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。

    必須条件

    Pivotal Cloud Foundry 認証情報
    Pivotal Cloud Foundry 認証情報を作成します。
    1. 移動先 ディスカバリー > 認証情報.
    2. [新規] を選択します。
    3. [CloudFoundry 認証情報] を選択します。
    4. フォームのフィールドに入力します。
      フィールド 説明
      名前 認証情報名。例:pcf_user credentials
      アクティブ この認証情報を検出で有効にするためのオプション。検出を有効にするには、このチェックボックスをオンにします。
      適用先 ネットワーク内のすべての MID サーバー に適用するか、1 つまたは複数の特定の MID サーバー に適用する認証情報。[特定の MID サーバー] を選択します。
      順序 プラットフォームでデバイスへのログオンを試行するときに、この認証情報を試行する順序。値が小さいほど、認証情報がリストの上位に表示されます。多くの認証情報を使用する場合、またはログイン試行が 3 回失敗してセキュリティによってユーザーがロックアウトされた場合の認証情報の順序を設定します。すべての認証情報の順序番号が同じであるか、または順序番号がない場合、インスタンスは認証情報をランダムな順序で試行します。デフォルト値は 100 です。
      ユーザー名 認証情報のユーザーの名前。ユーザー名の先頭または末尾にはスペースを使用しないでください。プラットフォームでユーザー名の先頭または末尾のスペースが検出されると、警告が表示されます。例:pcf_user。JWT トークンの生成に使用される client_id を使用します。
      パスワード 認証情報のユーザーのパスワード。JWT トークンの生成に使用される client_secret を使用します。
      認証情報エイリアス 認証情報の代替名。例:cf

      このフィールドがクローズされている場合は、[ロック解除] アイコンを選択してフィールドのロックを解除します。

    5. [更新] を選択します。
    JSON Web トークン認証情報
    JSON Web トークン (JWT) を確認するには、次のトークン検証ステップを実行します。

    JWT トークンの形式は次のとおりです: https://docs.cloudfoundry.org/api/uaa/version/4.27.0/index.html#jwt-bearer-token-grant

    1. ユーザーアカウントと認証 (UAA) サーバー API に対して次の cURL スクリプトを実行し、結果を確認します。

      curl -s -k https://ip_address:port/oauth/token -X POST -H ”Content-Type: application/x-www-form-urlencoded” -H “Accept: application/json” -d “client_id=<INSERT_USER_HERE>&client_secret=<INSERT_PASS_HERE>&grant_type=client_credentials&token_format=jwt&response_type=token”

      このコマンドでトークンが生成されない場合は、ServiceNow リポジトリ内の認証情報が正しいことを確認してください。そうでない場合は、ステップ 2 に進んでください。

    2. 次の cURL スクリプトを Pivotal Cloud Foundry API に対して実行します。

      curl https://ip_address:port/v3/spaces -k -v -H “Accept: application/json” -H “Authorization: bearer<INSERT TOKEN HERE>”

      このコマンドで PCF スペース情報を取得しない場合は、ServiceNow 認証情報リポジトリで認証情報を確認してください。

    V3 API 要素の認証情報
    読み取り専用ユーザーに以下の API 要素を使用する権限を与えます。
    • –/v3/organizations
    • –/v3/spaces
    • –/v3/domains
    • –/v3/routes
    • –/v3/organization_quotas
    • –/v3/space_quotas
    • –/v3/apps
    • -/v3/service_offerings
    • -/v3/service_plans
    • -/v3/service_instances
    • -/v3/droplets
    注:
    Pivotal Cloud Foundry パターンは PCF V2 API もサポートしています。
    サーバーなしディスカバリースケジュールの作成
    1. 移動先 ディスカバリー > ディスカバリースケジュール.
    2. [新規] を選択します。
    3. フォームのフィールドに入力します。
      表 : 1. ディスカバリースケジュールフォーム
      フィールド 説明
      名前 このディスカバリースケジュールの一意でわかりやすい名前 (.pcf など) を入力します。
      検出 検出タイプについては、[サーバーなし] を選択します。
      MID サーバー 認証情報が適用される MID サーバー。必要な MID サーバー (Discovery_Server など) を指定します。
      アクティブ この認証情報を検出で有効にするためのオプション。ディスカバリーを有効にするには、このチェックボックスをオンにします。
      認証情報エイリアス 認証情報の代替名。前の手順で作成した Pivotal Cloud Foundry 認証情報に関連するエイリアスを使用します。
    4. ディスカバリースケジュールフォームのヘッダーを右クリックし、[保存] を選択します。

      サーバーなし実行パターン

    5. [サーバーなし実行パターン] タブを選択します。
    6. [新規] を選択します。
    7. フォームのフィールドに入力します。
      表 : 2. サーバーなし実行パターンフォーム
      フィールド 説明
      名前 このサーバーなし実行パターンの一意でわかりやすい名前 (pcf1 など) を入力します。
      パターン [CloudFoundry] を選択します。
      プロキシーホスト プロキシーサーバーをインストールするマシンの完全修飾ドメイン名。[グローバル] を指定します。
      アクティブ このスケジュールをディスカバリーで有効にするためのチェックボックス。このチェックボックスをオンにします。
    8. サーバーなし実行パターンフォームのヘッダーを右クリックし、[保存] をクリックします。
    9. [サーバーなし実行パターン] タブを選択します。
    10. 製品ドキュメントに記載されているとおりにサーバーなし実行パターンを作成して定義します。
      Pivotal Cloud Foundry パターンで必要となるパラメーターを次のように設定します。
      表 : 3. ディスカバリーパターンランチャーパラメーター
      パラメーター 説明
      組織 検出する必要がある組織の名前、または入力が「*」である場合はすべての組織の名前。
      CredentialAlias 認証情報の代替名。前の手順で作成した Pivotal Cloud Foundry 認証情報に関連するエイリアスを使用します。
      URL_CF Pivotal Cloud Foundry から情報を取得するために使用されるクラウドコントローラーの API URL。
      URL_CF_AUTH トークンの生成に使用される UAA サーバー API。​ 値の入力形式:https://uaa.sys.dev.phx.pcf.example.com/oauth/token
    11. [更新] をクリックします。
    12. ディスカバリーを開始するには、サーバーなしディスカバリー定義に移動して、[今すぐ検出] を選択します。
    EVAL クロージャ関数

    次の EVAL クロージャ関数を使用して、「,」をセパレーターとしてすべての組織を連結します。

    var rtrn = ’’;
    var organizations = ${organizations[*].name};
    var beforeReturn = ’’;
    var separator = ’’;
    for (var i = 0; i < organizations.size(); i++)   
    	{
    	beforeReturn += separator + organizations.get(i);  
    	separator = ',';   
    	}
    rtrn = beforeReturn;
    

    次の EVAL クロージャ関数を使用して、運用ステータスがアクティブの場合は 1、アクティブでない場合は 2 を返します。

    var rtrn = '';
    var currentOrgStatus = ${organizations[].operational_status};
    var status = currentOrgStatus.toLowerCase();
    if(status == "active"){  
       rtrn = "1";  
    }
    else { 
       rtrn = "2";
    }
    

    次の EVAL クロージャ関数を使用して、運用ステータスが開始済みの場合は 1、開始済みでない場合は 2 を返します。

    var rtrn = '';
    var currentAppStatus = ${apps[].state};
    var status = currentAppStatus.toLowerCase();
    if(status == "started"){
       rtrn = "1";  
    }
    else {   
       rtrn = "2";   
    }
    
    CloudFoundry Get コール
    CloudFoundry Get コールカスタム操作は、トークンの生成を処理します。認証情報と URL_CF_AUTH コンテキスト変数を使用して、API コールの作成に使用されるトークンを生成します。

    トークンが生成されると、URL_CF は、[リソース] フィールドで定義された API コールの作成に使用されます。また、カスタム操作では、複数ページにわたる応答のページネーションも処理されます。

    CloudFoundry Get コールでは、入力 JSON を解析して、テーブルと変数を入力します。

    Cloud Foundry カスタム操作

    Pivotal Cloud Foundry BOSH 拡張セクション

    Pivotal Cloud Foundry BOSH は、Pivotal Cloud Foundry パターンの拡張セクションです。

    拡張は、ServiceNow® Store の 2023 年 6 月リリースの ディスカバリーとサービスマッピングパターン 1.6.0 で利用できます。
    Pivotal Cloud Foundry BOSH の要件
    注:
    次の要件は、BOSH 拡張セクションにのみ関連します。
    Opsman 認証 URL は、URL_OPSMAN_AUTH という名前のパターンパラメーターとして指定する必要があります。例:https://<opsman entry point>/uaa/oauth/token
    追加された認証情報には、次の API を実行する権限が必要です。
    • /uaa/oauth/token
    • /api/v0/deployed/products
    注:
    カスタム API は、Tanazu Opsman Get API ステップとしてパターンに追加されます。

    水平ディスカバリー中に ディスカバリー によって収集されるデータ

    表 : 4. 収集される情報
    フィールド 説明
    メイン CI:PCF 基盤 (PCF Foundation) [cmdb_ci_pcf_foundation]
    名前 Pivotal Cloud Foundry クラスターエントリ名

    <name>-<hostCf>:<portCf>

    ip_address Pivotal Cloud Foundry ホスト IP。
    port Pivotal Cloud Foundry サービスポート。
    short_description Pivotal Cloud Foundry サービスビルド番号。
    組織 PCF クラスターによって管理される組織リスト。エントリは、カンマ区切り文字「,」で区切られます。
    PCF 組織 [cmdb_ci_pcf_organization]
    名前 組織名
    URL 組織の一意の URL
    pcf_guid CF 内の組織 UID
    operational_status 組織ステータス
    PCF スペース (PCF Space) [cmdb_ci_pcf_space]
    名前 スペース名
    URL スペースの一意の URL
    pcf_guid CF 内のスペース UID
    PCF アプリケーション (PCF Application) [cmdb_ci_pcf_appl]
    名前 アプリケーション名
    URL アプリケーションの一意の URL
    pcf_guid CF 内のアプリケーション UID
    PCF ルート (PCF Route) [cmdb_ci_pcf_route]
    名前 ルーティング名
    URL ルーティングの一意の URL
    pcf_guid CF 内のルーティング UID
    port ルーティングポート
    type ルーティングタイプ
    PCF クォータ (PCF Quota) [cmdb_ci_pcf_quota]
    名前 クォータ名
    URL クォータの一意の URL
    pcf_guid CF 内のクォータ UID
    PCF ドメイン (PCF Domain) [cmdb_ci_pcf_domain]
    name ドメイン名
    url ドメインの一意の URL
    pcf_guid CF 内のドメイン UID
    PCF スペースインスタンス (PCF Space Instance) [cmdb_ci_pcf_space_instance]
    name スペースサービスインスタンス名
    url スペースサービスインスタンスの一意の URL
    pcf_guid CF 内のスペースサービスインスタンス UID
    PCF サービスプラン (PCF Service Plan) [cmdb_ci_pcf_service_plan]
    name サービスプランインスタンス名
    url サービスプランの一意の URL
    pcf_guid CF 内のスペースサービスインスタンス UID
    PCF サービス (PCF Service) [cmdb_ci_pcf_service]
    name サービス名
    url サービスの一意の URL
    pcf_guid CF 内のサービス UID
    PCF ドロップレット (PCF Droplet) [cmdb_ci_pcf_droplet]
    name リソース URL
    pcf_guid ドロップレット ID
    url ドロップレット URL
    install_status インストールステータス:1、「インストール済み」
    operational_status 運用ステータス:1、「稼働」
    キー値 [cmdb_key_value]
    key リソースタグキー
    注:
    このデータは、V3 API 呼び出しについてのみ収集されます。
    value リソースタグ値。
    注:
    このデータは、V3 API 呼び出しについてのみ収集されます。
    表 : 5. Pivotal Cloud Foundry BOSH 拡張セクションによって検出されるデータ
    フィールド 説明

    BOSH 展開 (cmdb_ci_bosh_deployment)

    名前 リソースのインストール名。
    object_id 展開された製品の ID。
    install_status 値:1= installed にハードコードされています。
    operational_status 値:1= operational にハードコードされています。
    deployment_version 展開された製品のバージョン。
    deployment_type 展開された製品のタイプ。

    CI 関係

    以下の関係は、Pivotal Cloud Foundry ディスカバリーをサポートするために作成されています。

    CI 関係 CI
    PCF スペース (PCF Space) [cmdb_ci_pcf_space]
    cmdb_ci_pcf_space Contains::Contained by cmdb_ci_pcf_organization
    PCF アプリケーション (PCF Application) [cmdb_ci_pcf_appl]
    cmdb_ci_pcf_appl Contains::Contained by cmdb_ci_pcf_space
    PCF ルート (PCF Route) [cmdb_ci_pcf_route]
    cmdb_ci_pcf_route Contains::Contained by cmdb_ci_pcf_foundation
    PCF クォータ (PCF Quota) [cmdb_ci_pcf_quota]
    cmdb_ci_pcf_quota Uses::Used by cmdb_ci_pcf_space

    cmdb_ci_pcf_organization

    PCF ドメイン (PCF Domain) [cmdb_ci_pcf_domain]
    cmdb_ci_pcf_domain Uses::Used by cmdb_ci_pcf_route
    Owns::Owned by cmdb_ci_pcf_organization
    Contains::Contained by cmdb_ci_pcf_foundation
    PCF スペースインスタンス (PCF Space Instance) [cmdb_ci_pcf_space_instance]
    cmdb_ci_pcf_space_instance Contains::Contained by cmdb_ci_pcf_space
    PCF サービスプラン (PCF Service Plan) [cmdb_ci_pcf_service_plan]
    cmdb_ci_pcf_service_plan Uses::Used by cmdb_ci_pcf_space_instance
    PCF サービス (PCF Service) [cmdb_ci_pcf_service]
    cmdb_ci_pcf_service Uses::Used by cmdb_ci_pcf_service_plan
    PCF ドロップレット (PCF Droplet) [cmdb_ci_pcf_droplet]
    cmdb_ci_pcf_appl Contains::Contained by cmdb_ci_pcf_droplet
    キー値 [cmdb_key_value]
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_droplet
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_organization
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_space
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_domain
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_route
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_appl
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_service
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_service_plan
    cmdb_key_value 参照のみ。

    例:configuration_item

    cmdb_ci_pcf_space_instance

    Pivotal Cloud Foundry BOSH の関係

    以下の関係は、Pivotal Cloud Foundry BOSH 拡張セクションの検出をサポートするために作成されています。

    CI 関係 CI

    Cloud Foundry クラスター [cmdb_ci_pcf_foundation]

    Contains::Contained by

    BOSH 展開 [cmdb_ci_bosh_deployment]