Kubernetes パターンを使用したディスカバリー

  • リリースバージョン: Australia
  • 更新日 2026年03月23日
  • 所要時間:50分
  • ServiceNow ITOM ヴィジビリティは、パターンを使用してKubernetes およびOpenShiftコンポーネントを検索し、それらを含むアプリケーションサービスを作成しますディスカバリーまた、Kubernetesイベントを検出し、動的Kubernetes環境を反映するためにCMDBを頻繁に更新します。

    ディスカバリー は、 Kubernetes パターンとその拡張セクションを使用して、 Kubernetes コンポーネントを検出します。
    • Kubernetes パターンの Collect OpenShift info 拡張セクションでは、Kubernetes 展開における OpenShift コンポーネントを検出します。OpenShift ビルド構成拡張セクションは、ストアバージョン 1.0.53 から使用できます。
    • Service Mesh 拡張では、サービスメッシュの詳細を検出します。この情報により、「Connects to::Connected」として表示されるサービス対サービス関係を作成するパターンが有効になります。サービスメッシュディスカバリーには、K8s (Kubernetes) クラスターに Istio を展開する必要があります。サービスメッシュ拡張セクションは、Kubernetes 拡張クラスで利用可能です。Madrid リリース以降を使用する ServiceNow AI Platform でサポートされています。
    • Collect Container Repository と拡張のセクションでは、これらのレジストリー内のコンテナーレジストリーとイメージを検索します。

    さらに、 ディスカバリーKubernetes イベントパターンを使用して、 Kubernetes コンポーネントのイベントを検出します。

    ServiceNow Store の 1.0.68 リリースから、サービスマッピング は CI 関係を使用して、タグベースのディスカバリー中にアプリケーションサービスに Kubernetes コンポーネントを追加できるようになりました。

    ディスカバリー は次のパターンを使用して、GCPAWS、およびAzureに展開されたKubernetesインフラストラクチャ全体を検出します。
    • Google Cloud Platform (GCP)Kubernetes クラスターを取得します。
    • Amazon AWS クラウド- Kubernetes クラスターを取得します。
    • Microsoft Azure- Kubernetes クラスターを取得します。
    これらのパターンはクラウドにクエリを実行し、すべての Kubernetes クラスターのデータを収集して、クラスターごとにサーバーなしスケジュールを作成します。クラスターが削除されると、スケジュールは非アクティブとしてマークされます。この機能により、クラスターごとに複数の認証情報とサーバーなしディスカバリースケジュールを作成および管理するオーバーヘッドがなくなります。クラウドインフラストラクチャパターンは、標準的なクラウドディスカバリーによってトリガーされます。

    サポート対象のバージョン

    パターンは、次の Kubernetes および Red Hat OpenShift バージョンで検証されています。
    表 : 1. 検証済みの Kubernetes バージョンと OpenShift バージョン
    プラットフォーム/パターン 検証済みバージョン
    オンプレミス Kubernetes 1.34
    Google Kubernetes Engine (GKE) 1.34
    Azure Kubernetes Engine (AKS) 1.34
    Amazon Elastic Kubernetes Service (EKS) 1.34
    Kubernetes イベントパターン 1.34
    OpenShift 4.19.20

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

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

    必須条件

    注:
    Kubernetes クラウドインフラストラクチャディスカバリーの前提条件については、次を参照してください。
    注:
    自動サーバーなし Kubernetes スケジュールを実行すると、ベアラートークンがフェッチされます。認証情報の追加は不要です。
    ディスカバリーパターンを使用してKubernetesを正常に見つけられるようにするには、次の手順を実行します。
    1. ServiceNow Storeから最新のディスカバリーとサービスマッピングパターンアプリケーションを展開します。
    2. Kubernetes プラットフォームで、Kubernetes ディスカバリーを設定するパラメーターを検索します。
      • kubeapi サーバーの URL を見つけます。
        1. Kubernetes プラットフォームで、次のコマンドを実行します。

          kubectl cluster-info

        2. 出力で、kubeapi サーバーの URL を示す行を見つけます。たとえば、Kubernetes コントロールプレーンは次のサイトで実行されます。

          https://10.154.144.146:443

      • kubeapi サーバーの名前空間を見つけます。
        1. Kubernetes プラットフォームで、次のコマンドを実行します。

          kubectl get namespaces

        2. 出力で、名前空間を示す行を見つけます。例:kube-system
      • Kubernetes のユーザー名とパスワードを見つけます。
        1. Kubernetes プラットフォームで、次のコマンドを実行します。

          kubectl config view

        2. 出力で、ユーザー名とパスワードを見つけます。パスワードとユーザー名に関する情報を含む行を見つけます。
          注:
          特定の環境で kubectl config view コマンドが予想される詳細を表示しない場合は、Kubernetes admin からサポートされているコマンドを使用してユーザー名とパスワードの詳細を取得します。
      • 適切な権限を持つ有効なベアラートークンを見つけます。
        • デフォルトのトークン名がわかっている場合は、 kubectl describe secret <default-token-token name> の形式でコマンドを使用します。

          例:kubectl describe secret default-token-g6pwc

        • デフォルトのトークン名がわからない場合は、 コマンド kubectl describe secret を使用します。
    3. Kubernetesディスカバリーを成功させるために、MID サーバーから API サーバーに到達できることを確認します。
    4. Kubernetesプラットフォームで構成されたユーザーに、次の /api/v1 要素を実行するための GET 権限があることを確認します。
      • https://<url>/api/v1/namespaces/
      • https://<url>/api/v1/namespaces/<namespace>
      • https://<url>/api/v1/namespaces/kube-system/endpoints/kube-controller-manager
      • https://<url>/api/v1/services
      • https://<url>/api/v1/pods
      • https://<url>/api/v1/nodes
      • https://<url> /api/v1/replicationcontrollers
      • https://<url> /apis/networking.k8s.io/v1/ingresses
      • https://<url> /apis/apps/v1/deployments
      • https://<url> /apis/apps/v1/statefulsets
      • https://<url> /apis/apps/v1/daemonsets
      • https://<url> /apis/apps/v1/replicasets
      • https://<url> /apis/batch/v1/cronjobs
      • https://<url> /apis/batch/v1/jobs
    5. Kubernetes 展開のOpenShiftコンポーネントを検出するには、Kubernetes プラットフォームで構成されたユーザーに、次の /api/v1 要素を実行するための GET 権限があることを確認します。
      • /apis/apps.openshift.io/v1/deploymentconfigs
      • /apis/build.openshift.io/v1/buildconfigs
      • /apis/route.openshift.io/v1/routes
      • /apis/user.openshift.io/v1/groups
      • /apis/user.openshift.io/v1/users
      • /apis/project.openshift.io/v1/projects
      • /apis/image.openshift.io/v1/images
      • /apis/image.openshift.io/v1/imagestreams
      サービスメッシュ情報を検出するには、次を実行します。
      • Istio を K8 クラスターに展開します。
      • Prometheus URL を入力します。
      • Prometheus を、Istio のメトリクスを取り除くように設定します。
    6. [Kubernetes 構成ファイルを取得 (Get Kubernetes Config Files)] 拡張をアクティブ化して、以下を実行します。
      • 構成ファイルを検出する。
      • 記録対象構成ファイルを作成する。
      • その構成ファイルを、関係を含む作業負荷とサービスにマッピングする。
      注:
      記録対象ファイルのコンテンツは、バージョン 1.0.92 以降の JSON 形式になっています。記録対象ファイルのコンテンツは、バージョン 1.0.91 以前では YAML 形式です。
    7. ServiceNow プラットフォームに Kubernetes 認証情報を作成します。
      1. ServiceNow AI Platformで、 すべて > ディスカバリー > 認証情報.
      2. [New (新規)] を選択します。
      3. [Kubernetes 認証情報] を選択します。
      4. フォームで、フィールドに入力します。
        フィールド 説明
        名前 この認証情報にわかりやすい一意の名前。
        ユーザー名 この認証情報に関連付けられたユーザー名。先頭または末尾のスペースは避けてください。いずれかが検出されると、警告が表示されます。

        使用する認証方法は、ユーザー名とパスワードまたはベアラートークンのいずれか 1 つだけです。両方を使用しないでください。

        パスワード この認証情報に関連付けられたパスワード。

        使用する認証方法は、ユーザー名とパスワードまたはベアラートークンのいずれか 1 つだけです。両方を使用しないでください。

        ベアラートークン認証 このオプションは、ベアラートークンを使用した高度な認証を有効にします。

        チェックボックスをオンにすると、[ベアラートークン] フィールドが表示されます。

        ベアラートークン ディスカバリー は、 Kubernetesにアクセスするときに高度な認証にベアラートークンを使用します。

        ベアラートークンは、文字シーケンスをトークンとして使用する、BASE64 エンコード形式である必要があります。例:31ada4fd-adec-460c-809a-9e56ceb75269。

        使用する認証方法は、ユーザー名とパスワードまたはベアラートークンのいずれか 1 つだけです。両方を使用しないでください。

        認証情報エイリアス エイリアスは、Kubernetes以外のデバイスおよびアプリケーションにKubernetes認証情報を使用するように構成されています。このエイリアスは、 Kubernetes 展開を検出するためのサーバーレスディスカバリースケジュールを定義するときにも使用されます。
        1. 南京錠アイコンを選択し、検索アイコンを選択します。
        2. [接続および資格情報エイリアス] フォームで、[新規] をクリックします。
        3. 認証情報エイリアスレコードの名前を指定します。
        4. エイリアスの属性を定義します。[Type] を [認証情報] に設定します。
        5. フォームヘッダーを選択して長押し (または右クリック) し、[ 保存] を選択し、[ 更新] を選択します。
        6. 接続および資格情報エイリアスフォームで、新たに追加したエイリアスを選択します。

          [認証情報エイリアス] フィールドにエイリアスが表示されます。

      5. Kubernetes 認証情報フォームで、[更新] を選択します。
    8. Kubernetes パターンに対するサーバーレスディスカバリースケジュールを作成します。
      製品ドキュメントに記載されているとおりにサーバーなし実行パターンを作成して定義します。Kubernetes パターンで必要となるパラメーターを次のように設定します。
      表 : 2. 実行パターン属性の構成
      フィールド 説明
      url ホスト名、IP または FQDN、および Kubernetes API サーバーのポートの識別子。example_hostname:example_port または example_ip:example_port の形式を使用します。正しいプロトコル (HTTP または HTTPS) を URL に入力します。
      名前空間 システムが Kubernetes ディスカバリー 構成で渡す名前空間。次のいずれかの値を入力します。
      • 個別の名前空間:名前空間を入力してから「kube-system」を入力します。例:dev,kube-system
      • デフォルト値:「default, kube-system」と入力します。
      • マルチパイル名前空間:名前空間を入力し、カンマ (,) を使用して値を区切り、「kube-system」と入力します。例:automation,application,test,kube-system
      • すべての名前空間:すべての名前空間を入力するには、アスタリスク (*) を使用します。
      認証情報エイリアス 以前に作成した Kubernetes 認証情報に関連付けられたエイリアス。
      クラスター名 <serviceaccountid><space><clustername> 形式での Kubernetes クラスターの名前。
      プロバイダー クラウドプロバイダー: GCPAWS 、または Azure
      cluster_resource_id クラスターリソース ID の例:
      • Azure Kubernetes clusters:リソース ID。
      • AWS- クラスター ARN。
      • GCP- クラスター・グローバル名。
    9. Kubernetes イベントパターンに対するサーバーレスディスカバリースケジュールを作成します。5 分または 10 分おきに実行するようにスケジュールを設定します。
      注:
      パターンが初めて実行されると、event_timestamp が保存されます。後で、タイムスタンプに基づいてデルタイベントのみを収集します。パターンが頻繁に実行されるほど、 CMDB IRE の更新で必要になる回数は少なくなります。

      ディスカバリースケジュールに対してサーバーなし実行パターンを作成し、それを Kubernetes イベントのパターンに割り当てます。「実行パターン属性の構成」で述べたように、Kubernetes パターンで必要となるパラメーターを構成します。

    10. 検出されたコンポーネントをサービスインスタンスに含めるには、サービスマッピングによるタグベースのディスカバリーで使用される CI 関係を有効にします。これらの CI 関係は、ServiceNow Store の 1.0.68 リリースから利用可能です。操作手順については「タグベースのディスカバリーの構成」を参照してください。

    Kubernetes クラウドインフラストラクチャディスカバリーの前提条件

    Google Cloud Platform (GCP) - Kubernetes クラスターを取得のパターンの場合は、次を実行します。

    1. ServiceNow インスタンスで、有効な認証情報と権限で Google Cloud Platform (GCP) サービスアカウントを設定します。
    2. GCP インフラストラクチャで、MID サーバー にすべてのクラウド API へのフルアクセスを設定します。[クラウド API アクセススコープ (Cloud API access scopes)] を [すべてのクラウド API へのフルアクセスを許可 (Allow full access to all Cloud APIs)] に設定します。MID サーバーインスタンスは、プロジェクトに固有のクラスターにのみアクセスできます。
    3. sys_properties.list に移動し、次のプロパティを設定します。
      • sn_itom_pattern.k8s_midserver:有効な MID サーバー 名を指定します。
      • sn_itom_pattern.k8s_create_schedule_enabled:値を true に設定します。
        注:
        sn_itom_pattern.k8s_create_schedule_enabled プロパティを有効にすると、クラウドクラスターのサーバーレススケジュールが自動的に作成されるため、手動スケジュールの必要がなくなります。既存の手動スケジュールがあり、それを自動スケジュールに変換する場合は、このプロパティを有効にします。手動スケジュールが更新されます。追加のスケジュールは作成されません。
    4. Google Cloud ディスカバリー を作成して実行します。
      注:

      ベアラートークンをフェッチするには、GKE Kubernetes スケジュールの実行中に gcloud コマンドを使用します。

      gcloud config config-format="value(credential.access_token)"

      MID サーバー インスタンスで gcloud を設定すると、トークンをフェッチするための GKE クラスタへのアクセス権が付与されます。

    Amazon Elastic Kubernetes Service (EKS) クラスターディスカバリーでは、次を実行します。

    1. ServiceNow インスタンスで、有効な管理アカウントの認証情報と権限で AWS サービスアカウントを設定します。
      1. Amazon Elastic Kubernetes Service (EKS)クラスターに、すべてのリソースへの読み取り専用アクセス権を持つクラスターロールがあることを確認します。
      2. クラスターロールと Kubernetes ユーザー間のクラスターロールバインディングを作成します。たとえば、読み取り専用ユーザーです。
      3. ポリシー EKSReadOnly で AWS IAM ロールを作成します。
      4. 次のいずれかの方法で、IAM ロールを Kubernetes ユーザーに関連付けます。
        • クラスターで、aws-auth ConfigMap を編集します。
        • 次のコマンドを実行します。

          eksctl create iamidentitymapping --cluster yourClusterName --arnarn:aws:iam::yourAccountID:role/yourIAMRoleName --username read-only-user

    2. Amazon Elastic Kubernetes Service (EKS) クラスターディスカバリーを次の 2 つのうちどちらかの方法で実行します。AWS コマンドラインインターフェイス (CLI) を使用する方法と、AWS CLI を使用しない方法です。まず、システムプロパティ sn_itom_pattern.k8s_aws_cli_to_generate_token を設定して、選択したモデルを使用します。このシステムプロパティはデフォルトで true に設定されています。

      • AWS CLI を使用してトークンを生成するには、このシステムプロパティを true に設定します。

      • 想定ロールを使用してトークンを生成するには、このシステムプロパティを false に設定します。

      1. AWS CLI を使用して Amazon Elastic Kubernetes Service (EKS) クラスターディスカバリーを実行します。

        1. AWS CLI を構成して MID サーバー をセットアップします。AWS CLI 認証情報を構成すると、Amazon Elastic Kubernetes Service (EKS) クラスターへのアクセス権が付与されます。

          注:
          システムにログインしているユーザーは、MID サーバー ユーザーと同じである必要があります。
        2. ベアラートークンを生成するには、Amazon Elastic Kubernetes Service (EKS) スケジュールの実行中に AWS CLI コマンド aws eks get-token --cluster-name<cluster_name> を使用します。

          MID サーバー インスタンスで AWS CLI ユーザー/ロールを構成すると、トークンを生成するための Amazon Elastic Kubernetes Service (EKS) クラスターへのアクセス権が付与されます。

      2. AWS CLI を使用しないで Amazon Elastic Kubernetes Service (EKS) クラスターディスカバリーを実行します。

        注:

        この機能は、2022 年 12 月の ディスカバリーとサービスマッピングパターン バージョン 1.0.96 からサポートされています。

        詳細な手順については、次の KB を参照してください:「KB1182188:EKS cluster discovery using STS AssumeRoles (Without AWS CLI) (STS AssumeRoles を使用した EKS クラスターディスカバリー (AWS CLI なし))」。

    3. sys_properties.list に移動し、次のプロパティを設定します。
      • sn_itom_pattern.k8s_midserver:有効な MID サーバー 名を指定します。
      • sn_itom_pattern.k8s_create_schedule_enabled:値を true に設定します。
        注:
        sn_itom_pattern.k8s_create_schedule_enabled プロパティを有効にすると、クラウドクラスターのサーバーレススケジュールが自動的に作成されるため、手動スケジュールの必要がなくなります。既存の手動スケジュールがあり、それを自動スケジュールに変換する場合は、このプロパティを有効にします。手動スケジュールが更新されます。追加のスケジュールは作成されません。
    4. AWS クラウドディスカバリースケジュールを作成して実行します。

    Microsoft Azure Kubernetes Services (AKS) - Kubernetes クラスターディスカバリーでは、次を実行します。

    1. 最新の ディスカバリーとサービスマッピングパターン バージョンに更新します。
    2. ServiceNow インスタンスで、有効な Azure 認証情報と権限を持つ Azure サービスアカウントを構成します。
    3. sys_properties.list に移動し、次のプロパティを設定します。
      • sn_itom_pattern.k8s_midserver:有効な MID サーバー 名を指定します。
      • sn_itom_pattern.k8s_create_schedule_enabled:値を true に設定します。
        注:
        sn_itom_pattern.k8s_create_schedule_enabled プロパティを有効にすると、クラウドクラスターのサーバーレススケジュールが自動的に作成されるため、手動スケジュールの必要がなくなります。既存の手動スケジュールがあり、それを自動スケジュールに変換する場合は、このプロパティを有効にします。手動スケジュールが更新されます。追加のスケジュールは作成されません。
        .
    4. Kubernetes RBAC を使用するローカルアカウントがなく、パターンの効率を向上させたい場合は、 MID サーバー > プロパティ sn_itom_pattern.aks_fetch_local_ad_tokenプロパティを false に設定します。
    5. Azure クラウドディスカバリースケジュールを実行します。
    6. クラスターアカウントタイプに応じて、ディスカバリーのスケジュールの MID サーバーを構成します。RBAC を使用するローカルアカウントがない場合は、この手順を無視できます。

      クラスターアカウントタイプ ディスカバリー スケジュールの MID サーバー

      Kubernetes RBAC を使用した MS Entra ID 認証。

      任意の MID サーバー

      Azure RBAC を使用した MS Entra ID 認証。

      任意の MID サーバー

      Kubernetes RBAC を使用するローカルアカウント。

      Azure コマンドラインインターフェイス (CLI) が構成された MID サーバーを選択します。Azure CLI 認証情報を構成すると、AKS クラスターへのアクセス権が付与されます。

      AKS Kubernetes スケジュールの実行中にベアラートークンを取得するには、次の Azure CLI コマンドを使用します:az aks get-credentials --name <cluster_name> --overwrite-existing --resource-group <resourceGroup_name> --file -

      注:
    表 : 3. その他のサポートされているシステム構成
    プロパティ名 プロパティの説明 タイプ デフォルト値

    sn_itom_pattern.manifest_digest_image_id

    ブーリアン

    false

    注:
    このプロパティを true に設定してディスカバリーを実行する前に、すべてのDockerイメージレコードを削除して、重複レコードが作成されないようにします。

    sn_itom_pattern.k8s_create_schedule_enabled

    パターンの実行を制御するシステムプロパティで有効/無効にできる機能フラグ。有効にすると、新しいプロパティ値に関係なくディスカバリースケジュールが作成されます。

    ブーリアン false
    sn_itom_k8s_run_cloud_discovery このプロパティを有効にすると、クラウド Kubernetes パターンが実行され、自動スケジュールを作成せずに Kubernetes クラスターが検出されます。 ブーリアン false
    MID サーバー

    sn_itom_pattern.k8s_midserver

    [デフォルト]

    例 - 有効な MID サーバー

    文字列

    sn_itom_pattern.k8s_<service_account_id> _midserver

    [サービスアカウントレベルに基づく]

    例 - 有効な MID サーバー

    文字列

    sn_itom_pattern.k8s_<service_account_id> _<clustername> _midserver

    [クラスター名に基づく]

    例 - 有効な MID サーバー

    文字列

    sn_itom_pattern.kubernetes_collect_volume

    プロパティが True に設定されている場合、 Kubernetes ボリューム [cmdb_ci_kubernetes_volume] のデータが入力されます。

    文字列 false

    sn_itom_pattern.k8s_add_workload_to_image_relation

    バージョン 1.30.2 以降ディスカバリーとサービスマッピングパターンKubernetesパターンでは、Kubernetesポッドを介して、Dockerイメージとワークロード CI の間に間接的な関係のみが作成されます。プロパティを true に設定すると、 Docker イメージとワークロード CI タイプ (展開、DaemonSet、ReplicaSet、StatefulSet、および ReplicationController) の間に直接的な関係も作成されます。 ブーリアン false
    認証情報エイリアス

    sn_itom_pattern.k8s_ cred_alias

    [デフォルト]

    例 - 認証情報エイリアス名

    文字列

    sn_itom_pattern.k8s_<service_account_id> _alias

    [サービスアカウントレベルに基づく]

    例:有効な認証情報エイリアス名

    文字列

    sn_itom_pattern.k8s_<service_account_id> _<clustername> _alias

    [クラスター名に基づく]

    例:有効な認証情報エイリアス名

    文字列
    Prometheus Url

    sn_itom_pattern.k8s_prometheusUrl

    [デフォルト]

    例 - 有効な Prometheus URL

    文字列

    sn_itom_pattern.k8s_<service_account_id> _prometheusUrl

    [サービスアカウントレベルに基づく]

    例 - 有効な Prometheus URL

    文字列

    sn_itom_pattern.k8s_<service_account_id> _<clustername> _prometheusUrl

    [クラスター名に基づく]

    例 - 有効な Prometheus URL

    文字列

    sn_itom_pattern.k8s_ run

    [サポートされている ディスカバリー 実行をスケジュール - 毎日、オンデマンド、平日、週末、月末、暦四半期末]

    例 - 日次

    文字列

    sn_itom_pattern.k8s_batch_count

    [バッチで実行するスケジュールの数 - デフォルトは 5 に設定]

    例 - 5 (バッチで実行するスケジュールの数)

    整数 5

    sn_itom_pattern.k8s_schedule_batch_delay

    [2 つのバッチ値間の時間差を秒単位で追跡]

    例 - 300 (秒)

    整数

    sn_itom_pattern.k8s_run_time

    [バッチの現在時刻を追跡]

    このプロパティが設定されている場合は、同じものを使用するか、システムの現在のタイミングの 5 min 後の動的タイミングを使用できます。HH:MM:SS 形式の値

    例:10:11:12 (HH:MM:SS)

    文字列
    注:
    <service_account_id>は [クラウドサービスアカウント (Cloud Service Accounts)] の下のアカウント ID 名です。詳細については、クラウドリソースの ディスカバリー スケジュールの作成 を参照してください。

    Kubernetes 認証情報なしのディスカバリーまたは mid-in-cluster ディスカバリー

    Kubernetes認証情報なしディスカバリーの前提条件

    コンテナ化された MID サーバーKubernetes クラスターに展開します。Kubernetes クラスター内の MID サーバーが自動的に API サーバーを検出して認証するため、Kubernetes 認証情報の構成は不要です。

    表 : 4. 認証情報なしディスカバリーの実行パターン属性の構成
    フィールド 説明
    URL

    [URL] フィールドに次のいずれかの値を入力します。

    https://cluster

    または

    https://kubernetes.default.svc

    名前空間

    システムが Kubernetes ディスカバリー 構成で渡す名前空間。次のいずれかの値を入力します。

    • 個別の名前空間:名前空間を入力してから「kube-system」を入力します。例:dev,kube-system
    • デフォルト値。「default,kube-system」のように入力します。
    • マルチパイル名前空間:名前空間を入力し、カンマ (,) を使用して値を区切り、「kube-system」と入力します。例:automation,application,test,kube-system
    • すべての名前空間:すべての名前空間を入力するには、アスタリスク (*) を使用します。
    cluster_name 一意の名前を入力してください。

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

    テーブルとフィールド 説明
    Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    名前 kube-controller-manager リーダーの名前。
    K8s_uid kube-system 名前空間 UID [サポートされているバージョン:1.0.92 以降]
    ip_address Kubernetes API サーバーの host_ip の識別子。
    port

    Kubernetes API サーバーポートの識別子。

    名前空間 この値は、システムが Kubernetes ディスカバリー 構成で渡した名前空間を示します。
    event_timestamp ディスカバリー時にこの Kubernetes クラスターで作成された最新のイベントのタイムスタンプ。
    Kubernetes ノード [cmdb_ci_kubernetes_node] Kubernetes ノードの仮想的側面。Kubernetesノードの物理的側面に関するデータは、Linux サーバーに格納されています。
    name Kubernetes ノードの名前。形式は、マシン名だけにすることも、名前とホスト名から成る完全な名前 (<name>.<hostname>) にすることもできます。
    k8s_uid Kubernetes ノード UUID の識別子。
    cluster このリソースを含むクラスターの名前。
    operational_status Kubernetes ノードの運用ステータス。
    Kubernetes サービス [cmdb_ci_kubernetes_service]
    name Kubernetes サービスの名前。
    selector ターゲットポッドの選択に使用され、Kubernetes 構成で指定されたラベルセレクターのカンマ区切りリスト。
    namespace この Kubernetes サービスが属する Kubernetes 名前空間。
    k8s_uid Kubernetes サービスの UUID。
    cluster このリソースを含むクラスターの名前。
    Kubernetes ポッド [cmdb_ci_kubernetes_pod]
    name Kubernetes ポッドの名前。
    k8s_uid Kubernetes ポッド UUID。
    resourceVersion Kubernetes ポッドのリソースバージョン。
    namespace この Kubernetes ポッドが属する Kubernetes 名前空間。
    cluster このリソースを含むクラスターの名前。
    state

    Kubernetes ポッドステータス:[処理待ち]、[実行中]、[成功]、[失敗]、[不明]。

    Kubernetes クローンジョブ [cmdb_ci_kubernetes_cronjob]
    name Kubernetes クローンジョブの名前。
    namespace この Kubernetes ポッドが属する Kubernetes 名前空間。
    k8s_uid Kubernetes クローンジョブの UUID。
    cluster このリソースを含むクラスターの名前。
    Kubernetes ジョブ [cmdb_ci_kubernetes_job]
    name Kubernetes ジョブの名前。
    namespace この Kubernetes ジョブが属する Kubernetes 名前空間。
    k8s_uid Kubernetes ジョブの UUID。
    cluster Kubernetes ジョブが含まれるクラスターの名前。
    Kubernetes Daemonset [cmdb_ci_kubernetes_daemonset]
    name Kubernetes Daemonset の名前。
    namespace この Kubernetes Daemonset が属する Kubernetes 名前空間。
    k8s_uid Kubernetes Daemonset の UUID。
    cluster このリソースを含むクラスターの名前。
    pods_avail 利用可能なポッドの数。
    pods_failed [失敗 (Failed)] フェーズのポッド数。
    pods_running [実行中 (Running)] フェーズのポッドの数。
    pods_succeeded [成功 (Suceeded)] フェーズのポッドの数。
    pods_waiting [待機中 (Waiting)] フェーズのポッドの数。
    Kubernetes イングレス [cmdb_ci_kubernetes_ingress]
    name Kubernetes イングレスの名前。
    namespace この Kubernetes イングレスが属する Kubernetes 名前空間。
    k8s_uid Kubernetes イングレスの UID。
    cluster このリソースを含むクラスターの名前。

    Kubernetes 展開 [cmdb_ci_kubernetes_deployment]

    Kubernetes レプリカセット [cmdb_ci_kubernetes_replicaset]

    Kubernetes レプリケーションコントローラー [cmdb_ci_kubernetes_replicationcontroller]

    Kubernetes Statefulset [cmdb_ci_kubernetes_statefulset]

    name このリソースの名前。
    namespace このリソースが属する Kubernetes 名前空間。
    K8s_uid このリソースの Kubernetes UID。
    cluster このリソースを含むクラスターの名前。
    total_replicas このリソースのレプリカの数。
    required_replicas 目的のフェーズにあるレプリカの数。
    available_replica 利用可能なレプリカの数。
    available_replicas 利用不可フェーズのレプリカの数。
    updated_replicas 更新されたレプリカの数。
    Docker コンテナー [cmdb_ci_docker_container] Docker イメージを実行するコンポーネント。
    container_id Kubernetes Docker コンテナの一意の識別子。

    重複レコードが作成された場合は、ディスカバリーが実行されると重複排除タスクが表示されます。これらのタスクを解決する方法については、ServiceNow® ナレッジベースの記事「Making docker container identifier independent (Docker コンテナ識別子を独立させる) [KB1443042]」を参照してください。

    namespace この Kubernetes Docker コンテナが属する Kubernetes 名前空間。
    Docker イメージ [cmdb_ci_docker_image] Docker コンテナでインスタンス化できるアプリケーションとその関連ソフトウェアの実行可能パッケージ。
    image_id Kubernetes Docker イメージの識別子。
    name Kubernetes Docker イメージの名前。
    image_url Docker イメージをダウンロードするための URL。
    namespace この Kubernetes Docker イメージが属する Kubernetes 名前空間。
    Linux サーバー [cmdb_ci_linux_server] Kubernetes ノードをホストするサーバー。
    name Kubernetes ノードに電力を供給する Linux サーバーの名前。
    hostname Linux サーバーのホスト名。
    os この Linux サーバーに展開されているオペレーティングシステム。
    kernel_release この Linux サーバーに展開されている Linux カーネルオペレーティングシステムのバージョン。
    ram この Linux サーバーに搭載されている RAM のサイズ。
    ip_address Linux サーバーの IP アドレス。
    cpu_type Kubernetes ノードをホストする Linux サーバーの CPU アーキテクチャ。
    cpu_count Kubernetes ノードをホストしている Linux サーバー上の CPU の数。
    serial_number Kubernetes ノードをホストする Linux サーバーのシリアル番号。
    キー値 [cmdb_key_value] この構成アイテム (CI) は、Kubernetes ラベルを含んでいます。ラベルは、ポッドなどのオブジェクトに添付されているキーと値のペアです。
    key Kubernetes ポッドまたは Kubernetes サービスの Key Value パラメーターのキー。
    value Kubernetes ポッドまたは Kubernetes サービスの Key Value パラメーターの値。
    Kubernetes ボリューム [cmdb_ci_kubernetes_volume]
    k8s_uid Kubernetes ボリュームの UUID。
    mount_path この Kubernetes ボリュームにアクセスするためのパス。
    name Kubernetes ボリュームの名前。
    namespace この Kubernetes ボリュームが属する Kubernetes 名前空間。
    cluster このリソースを含むクラスターの名前。
    volume_id Kubernetes ボリュームの ID。
    OpenShift 展開済み構成 [cmdb_ci_openshift_dep_conf]​
    name OpenShift 展開構成の名前。
    namespace 展開構成が含まれる名前空間の名前。
    k8s_uid Kubernetes ボリュームの UUID。
    URL OpenShift展開された構成の URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    OpenShift ビルド構成 [cmdb_ci_openshift_build_conf]
    name OpenShift ビルド構成の名前。
    namespace ビルド構成が含まれる OpenShift 名前空間の名前。
    k8s Kubernetes ボリュームの UUID。
    URL OpenShiftビルド構成の URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    OpenShift Source2Image [cmdb_ci_openshift_source_2_image]
    name OpenShiftソースイメージの名前。
    次へ 関連するイメージ。
    parent_id OpenShift ソースイメージの ID。
    OpenShift ルーティング [cmdb_ci_openshift_route]
    name OpenShift ルーティングの名前。
    namespace OpenShift ルーティングが含まれる名前空間の名前。
    k8s_uid Kubernetes ボリュームの UUID。
    URL OpenShiftルートの URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    host OpenShift ルーティングのターゲットホスト。
    port OpenShift ルーティングのターゲットポート。
    OpenShift グループ [cmdb_ci_openshift_group]
    name OpenShift グループの名前。
    k8s_uid Kubernetes ボリュームの UUID。
    URL OpenShiftグループの URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    OpenShift ユーザー [cmdb_ci_openshift_user]
    name OpenShift ユーザーの名前
    k8s_uid Kubernetes ボリュームの UUID。
    URL OpenShiftユーザーの URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    full_name OpenShift ユーザーのフルネーム。
    OpenShift プロジェクト [cmdb_ci_openshift_project]
    name OpenShift プロジェクトの名前
    k8s_uid Kubernetes ボリュームの UUID。
    URL OpenShift プロジェクトの URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    OpenShift イメージ [cmdb_ci_openshift_images]
    name OpenShift イメージの名前。
    k8s_uid Kubernetes ボリュームの UUID。
    URL OpenShift画像の URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    docker_image_metadata_id Docker イメージの ID。
    docker_image_metadata_parent_id イメージ親の ID。
    arch イメージのアーキテクチャ。
    size イメージサイズ。
    hostname イメージに関連するホスト名。
    OpenShift イメージストリーム [cmdb_ci_openshift_images_stream]
    name OpenShift イメージストリームの名前。
    k8s_uid Kubernetes ボリュームの UUID。
    URL OpenShift イメージストリームの URL。1.16 より前の Kubernetes バージョンでのみ使用できます。
    名前空間 OpenShift イメージストリームが含まれる名前空間の名前。
    OpenShift Docker イメージリポジトリ [cmdb_ci_openshift_docker_images_repository]
    name OpenShift Docker イメージリポジトリの名前。
    parent_ID 親システムの ID。
    名前空間 [cmdb_ci_kubernetes_namespace]
    name Kubernetes 名前空間の名前。
    state

    Kubernetes 名前空間のフェーズ:[アクティブ] または [終了]。

    このデータは、Collect Container Repository の拡張セクションによって収集されます。
    テーブルとフィールド 説明
    コンテナーリポジトリ [cmdb_ci_container_repository]
    名前 [name] コンテナーリポジトリの名前。
    コンテナーリポジトリエントリー [cmdb_ci_container_repository_entry]
    名前 [name] コンテナーリポジトリエントリーの名前
    カテゴリ [category] コンテナーリポジトリエントリーのカテゴリ
    次の図は、Kubernetes ディスカバリーに含まれている CI を示しています。
    注:
    この依存関係ビューマップは、わかりやすくするために簡略化されています。Kubernetes 展開には、非常に多くの CI を含めることができます。
    図 : 1. Kubernetes 展開のコンポーネント

    Kubernetes 構成アイテムと Kubernetes 作業負荷テーブルの関係
    図 : 2. OpenShift を含む Kubernetes 展開のコンポーネント

    名前空間に OpenShift 構成アイテムが含まれています

    Kubernetesパターンによって収集される CI 関係

    これらの関係は Kubernetes パターンによって作成されます。
    CI 関係 CI
    Kubernetes クラスター [cmdb_ci_kubernetes_cluster] Contains::Contained By

    Kubernetes サービス [cmdb_ci_kubernetes_service]

    Contains::Contained By Kubernetes ポッド [cmdb_ci_kubernetes_pod]
    Contains::Contained By Kubernetes イングレス [cmdb_ci_kubernetes_ingress]
    Contains::Contained By

    Kubernetes 名前空間 [cmdb_ci_kubernetes_namespace]

    Contains::Contained By [cmdb_ci_openshift_source_2_image]
    Contains::Contained By OpenShift グループ [cmdb_ci_openshift_group]
    Contains::Contained By OpenShift ユーザー [cmdb_ci_openshift_user]
    Contains::Contained By OpenShift プロジェクト [cmdb_ci_openshift_project]
    Contains::Contained By OpenShift イメージ [cmdb_ci_openshift_images]
    Contains::Contained By OpenShift Docker イメージリポジトリ [cmdb_ci_openshift_docker_images_repository]
    Cluster of::Cluster Kubernetes ノード [cmdb_ci_kubernetes_node]
    Manages::Managed by Linux サーバー [cmdb_ci_linux_server]
    Contained by::Contains リソースグループ [cmdb_ci_resource_group]
    Kubernetes ポッド [cmdb_ci_kubernetes_pod] Contains::Contained By Docker コンテナー [cmdb_ci_docker_container]
    Contains::Contained By Docker イメージ [cmdb_ci_docker_image]
    Contains::Contained By Kubernetes ボリューム [cmdb_ci_kubernetes_volume]

    Kubernetes 作業負荷 [cmdb_ci_kubernetes_workload]

    Hosted on::Hosts Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    Kubernetes サービス [cmdb_ci_kubernetes_service] Provides::Provided By

    Kubernetes 作業負荷 [cmdb_ci_kubernetes_workload]

    Kubernetes 展開 [cmdb_ci_kubernetes_deployment]

    Owns::Owned By

    Kubernetes レプリカセット [cmdb_ci_kubernetes_replicaset]

    Kubernetes レプリカセット [cmdb_ci_kubernetes_replicaset]

    iInstantiates:: Instantiated By Kubernetes ポッド [cmdb_ci_kubernetes_pod]
    Kubernetes 作業負荷 [cmdb_ci_kubernetes_workload] Provided By::Provides To Kubernetes サービス [cmdb_ci_kubernetes_service]
    Kubernetes 展開 [cmdb_ci_kubernetes_deployment] Hosted on::Hosts Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    Kubernetes Daemonset [cmdb_ci_kubernetes_daemonset] Hosted on::Hosts Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    Kubernetes Statefulset [cmdb_ci_kubernetes_statefulset] Hosted on::Hosts Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    Kubernetes 名前空間 [cmdb_ci_kubernetes_namespace]​ Contains::Contained By OpenShift 展開済み構成 [cmdb_ci_openshift_dep_conf​]
    Contains::Contained By OpenShift ビルド構成 [cmdb_ci_openshift_build_conf]
    Contains::Contained By OpenShift ルーティング [cmdb_ci_openshift_route]
    Contains::Contained By OpenShift イメージストリーム [cmdb_ci_openshift_images_stream]
    Docker イメージ [cmdb_ci_docker_image] Instantiates::Instantiated by Docker コンテナー [cmdb_ci_docker_container]
    Linux サーバー [cmdb_ci_linux_server] Contains::Contained By Kubernetes ポッド [cmdb_ci_kubernetes_pod]
    Runs::Runs on Docker コンテナー [cmdb_ci_docker_container]
    Hosts::Hosted on Kubernetes ノード [cmdb_ci_kubernetes_node]
    OpenShift 展開構成 [cmdb_ci_openshift_dep_conf​] Contains::Contained By [cmdb_ci_config_file_tracked]
    KubernetesパターンのCollect Container Repository拡張セクションは、これらの関係を識別します。
    CI 関係 CI
    Docker イメージ [cmdb_ci_docker_image] Provisioned From::Provisioned コンテナーリポジトリエントリー [cmdb_ci_container_repository_entry]
    コンテナーリポジトリエントリー [cmdb_ci_container_repository_entry] Hosted on::Hosts コンテナーリポジトリ [cmdb_ci_container_repository]

    Istio サービスメッシュ拡張によって収集される CI 関係

    Istio サービスメッシュ拡張の前提条件:

    • Istio サービスメッシュと Prometheus コンポーネントが Kubernetes クラスターに構成されていることを確認します。
    • Prometheus が queryistio_requests_total コマンドを使用してサービス接続情報を検出できるようにします。
    • アプリケーションサービスが接続されていることを確認し、Kiali グラフでサービス間のトラフィックフローを確認します。

    Bookinfo アプリケーションの詳細については、https://istio.io/latest/docs/examples/bookinfo/ を参照してください。

    CI 関係 CI
    Kubernetes サービス [cmdb_ci_kubernetes_servi ce] Connects to::Connected by Kubernetes サービス [cmdb_ci_kubernetes_servi ce]

    Kubernetes イベントパターンによって収集される CI 関係

    以下の関係は、Kubernetes イベント検出をサポートするために作成されています。
    CI 関係 CI
    Kubernetes クラスター [cmdb_ci_kubernetes_cluster] Contains::Contained By

    Kubernetes サービス [cmdb_ci_kubernetes_service]

    Contains::Contained By Kubernetes ポッド [cmdb_ci_kubernetes_pod]
    Cluster of::Cluster Kubernetes ノード [cmdb_ci_kubernetes_node]
    Manages::Managed by [cmdb_ci_linux_server]
    Kubernetes ポッド [cmdb_ci_kubernetes_pod] Contains::Contained By Docker コンテナー [cmdb_ci_docker_container]
    Contains::Contained By Docker イメージ [cmdb_ci_docker_image]
    Contains::Contained By Kubernetes ボリューム [cmdb_ci_kubernetes_volume]
    Docker イメージ [cmdb_ci_docker_image] Instantiates::Instantiated by Docker コンテナー [cmdb_ci_docker_container]
    Linux サーバー [cmdb_ci_linux_server] Contains::Contained By Kubernetes ポッド [cmdb_ci_kubernetes_pod]
    Runs::Runs on Docker コンテナー [cmdb_ci_docker_container]
    Hosts::Hosted on Kubernetes ノード [cmdb_ci_kubernetes_node]

    タグベースのディスカバリー中に サービスマッピング に収集されるデータ

    サービスマッピング では、タグベースのディスカバリーを使用して、Kubernetes コンポーネントを含むアプリケーションサービスマップを作成します。サービスマッピング には、タグベースのディスカバリーに使用される次のような事前構成済み CI 関係が付属しています。これらの CI 関係は、ServiceNow Store の 1.0.68 リリースから利用可能です。
    CI 関係 CI
    Kubernetes サービス [cmdb_ci_kubernetes_service] Contained By::Contains Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    OpenShift プロジェクト [cmdb_ci_openshift_project] Contained by::Contains Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    Kubernetes ポッド [cmdb_ci_kubernetes_pod] Contained by::Contains Kubernetes クラスター [cmdb_ci_kubernetes_cluster]
    Kubernetes ポッド [cmdb_ci_kubernetes_pod] Cluster::Cluster of Kubernetes サービス [cmdb_ci_kubernetes_service]
    Kubernetes 名前空間 [cmdb_ci_kubernetes_namespace]​ Contains::Contained By OpenShift 展開済み構成 [cmdb_ci_openshift_dep_conf​]
    Kubernetes 名前空間 [cmdb_ci_kubernetes_namespace]​ Contains::Contained By OpenShift ビルド構成 [cmdb_ci_openshift_build_conf]
    Kubernetes 名前空間 [cmdb_ci_kubernetes_namespace]​ Contains::Contained By OpenShift ルーティング [cmdb_ci_openshift_route]
    Kubernetes 名前空間 [cmdb_ci_kubernetes_namespace]​ Contains::Contained By OpenShift イメージストリーム [cmdb_ci_openshift_images_stream]

    Kubernetes ダッシュボード

    Kubernetes展開のコンポーネントの検出ディスカバリー完了したら、次の場所に移動 ワークスペース > ディスカバリーアドミンワークスペース > インサイト Kubernetes エクスプローラーダッシュボードを使用して、組織のKubernetes環境とリソースを表示します。強化された Kubernetes ダッシュボードを使用するには、 ディスカバリーアドミンワークスペース バージョン 1.3.1 (2024 年 8 月ストア) 以降を使用していることを確認します。Kubernetes エクスプローラー の詳細については、「Kubernetes エクスプローラー」を参照してください。

    トラブルシューティング

    マッピングプロセスが期待どおりに進行しない場合は、次の提案に従ってください。
    症状 原因 ソリューション
    ディスカバリーに失敗しました。ディスカバリーメッセージには、REST タイムアウトによって発生したエラーに関する情報が含まれています。 展開で REST コール応答を送信する CI が多数あります。MID サーバーmid.sa.cloud.request_timeout パラメーターで制御される制限時間を超えずに REST コール応答を処理することはできません。 デフォルトで、mid.sa.cloud.request_timeout パラメーターは 3 万ミリ秒に設定されています。
    関連する MID サーバー に対してこのパラメーターの値を増やし、ディスカバリーを再実行します。
    注:
    関連する MID サーバー の [設定パラメーター] 関連リストにこのパラメーターが表示されない場合は、追加する必要があります。
    デバッグセッション中にパターンデザイナーでエラーが発生しました。パターンデザイナーのメッセージに、タイムアウトによって発生したエラーに関する情報が含まれています。 パターンデザイナーは、(ディスカバリー時ではなく) パターンデバッグ中のタイムアウトが原因で失敗します。 デフォルトで、sa.debugger.max_timeout パラメーターは 240 秒に設定されています。

    関連する MID サーバー に対してこのパラメーターの値を増やします。

    Kubernetes パターンをデバッグモードで実行する場合、操作に関する情報については「KB0832567」を参照してください。