Kubernetes 検出
ServiceNow ITOM ヴィジビリティ は Kubernetes および OpenShift のコンポーネントを検索し、それらを含むアプリケーションサービスを作成します。また、ディスカバリー は Kubernetes イベントも検索し、CMDB を頻繁に更新して Kubernetes 環境を動的に反映します。
- Kubernetes パターンの Collect OpenShift info 拡張セクションでは、Kubernetes 展開における OpenShift コンポーネントを検出します。OpenShift ビルド構成拡張セクションは、ストアバージョン 1.0.53 から使用できます。
- Service Mesh 拡張では、サービスメッシュの詳細を検出します。この情報により、「Connects to::Connected」として表示されるサービス対サービス関係を作成するパターンが有効になります。サービスメッシュのディスカバリーには、Istio を K8 (Kubernetes) クラスターに展開する必要があります。サービスメッシュ拡張セクションは、Kubernetes 拡張クラスで利用可能です。Madrid リリース以降を使用する Now Platform でサポートされています。
- Collect Container Repository と拡張のセクションでは、これらのレジストリー内のコンテナーレジストリーとイメージを検索します。
さらに、ディスカバリー は Kubernetes イベントパターンを使用して、Kubernetes バージョン 1.21 の Kubernetes コンポーネントのイベントを検出します。
ServiceNow Store の 1.0.68 リリースから、サービスマッピング は CI 関係を使用して、タグベースのディスカバリー中にアプリケーションサービスに Kubernetes コンポーネントを追加できるようになりました。
- Google Cloud Platform (GCP) - Kubernetes クラスターを取得。
- Amazon Web Services (AWS) - Kubernetes クラスターを取得。
- Microsoft Azure クラウドコンピューティングサービス - Kubernetes クラスターを取得。
ストアでアプリを要求する
ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。
前提条件
- ServiceNow Store から最新の「ディスカバリーとサービスマッピングパターン」アプリケーションを展開します。
- Kubernetes プラットフォームで、Kubernetes ディスカバリーを設定するパラメーターを検索します。
- kubeapi サーバーの URL を見つけます。
- Kubernetes プラットフォームで、次のコマンドを実行します。
kubectl cluster-info - 出力で、kubeapi サーバーの URL を示す行を見つけます。たとえば、Kubernetes コントロールプレーンは次のサイトで実行されます。
https://10.154.144.146:443
- Kubernetes プラットフォームで、次のコマンドを実行します。
- kubeapi サーバーの名前空間を見つけます。
- Kubernetes プラットフォームで、次のコマンドを実行します。
kubectl get namespaces - 出力で、名前空間を示す行を見つけます。例:
kube-system。
- Kubernetes プラットフォームで、次のコマンドを実行します。
- Kubernetes のユーザー名とパスワードを見つけます。
- Kubernetes プラットフォームで、次のコマンドを実行します。
kubectl config view - 出力で、ユーザー名とパスワードを見つけます。注:特定の環境で
kubectl config viewコマンドが予想される詳細を表示しない場合は、Kubernetes admin からサポートされているコマンドを使用してユーザー名とパスワードの詳細を取得します。
- Kubernetes プラットフォームで、次のコマンドを実行します。
- 適切な権限を持つ有効なベアラートークンを見つけます。
- デフォルトのトークン名がない場合は、コマンド
kubectl describe secretを使用します。 - 出力にはすべてのアカウントとすべてのトークンが表示されます。有効なトークンを見つけます。
kubectlは汎用 Kubernetes アカウントで、describeは汎用 kubectl メソッドです。secretパラメーターは、Kubernetes クラスターにおいて、デフォルトトークンをタイプ secret のオブジェクトに含めて保護することを表しています。kubectl describe secretコマンドの出力は BASE64 エンコード形式です。 -
デフォルトのトークン名がわかっている場合は、
kubectl describe secret default-token-g6pwcコマンドを使用します。default-token-g6pwcは、g6pwc のデフォルトトークンのパラメーター値を反映します。 - 出力には、この Kubernetes アカウントの既存のトークンがすべて表示されます。
ServiceNow プラットフォームで、Kubernetes 認証情報を構成するために使用するトークンを 1 つ選択します。
- デフォルトのトークン名がない場合は、コマンド
- kubeapi サーバーの URL を見つけます。
- Kubernetes 検出を成功させるために、API サーバーが MID サーバーから到達可能であることを確認します。
- Kubernetes プラットフォームで構成されたユーザーに、次の /api/v1 要素を実行する権限があることを確認します。
- 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
- Kubernetes 展開の OpenShift コンポーネントを検出するには、Kubernetes プラットフォームで構成されたユーザーに、次の /api/v1 要素を実行する権限があることを確認します。
- /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 のメトリクスを取り除くように設定します。
- [Kubernetes 構成ファイルを取得 (Get Kubernetes Config Files)] 拡張をアクティブ化して、以下を実行します。
- 構成ファイルを検出する。
- 記録対象構成ファイルを作成する。
- その構成ファイルを、関係を含む作業負荷とサービスにマッピングする。
注:記録対象ファイルのコンテンツは、バージョン 1.0.92 以降は JSON 形式です。記録対象ファイルのコンテンツは、バージョン 1.0.91 以前では YAML 形式です。 - ServiceNow プラットフォームに Kubernetes 認証情報を作成します。
- ServiceNowプラットフォームで、 .
- [New (新規)] を選択します。
- [Kubernetes 認証情報] を選択します。
- フォームフィールドを設定します (表を参照)。
フィールド 説明 名前 この認証情報のわかりやすい一意の名前を入力します。 ユーザー名 [認証情報] テーブルに、作成するユーザー名を入力します。ユーザー名の先頭または末尾にはスペースを使用しないでください。プラットフォームでユーザー名の先頭または末尾のスペースが検出されると、警告が表示されます。 パスワード この認証情報のパスワードを入力します。 ベアラートークン ベアラートークンを使用する高度な認証の場合は、Kubernetes へのアクセス時にディスカバリーが認証に使用するベアラートークンを入力します。31ada4fd-adec-460c-809a-9e56ceb75269 などの文字シーケンスをトークンとして使用します。 注:ベアラートークンは BASE64 エンコード形式である必要があります。ベアラートークン認証 ベアラートークンを使用する高度な認証の場合は、このチェックボックスをオンにします。 認証情報エイリアス エイリアスを構成すると、Kubernetes 以外のデバイスやアプリケーションに Kubernetes 認証情報を使用できます。またこのエイリアスを使用して、Kubernetes 展開を検出するためのサーバーレスディスカバリースケジュールを定義できます。 - 南京錠アイコンを選択し、検索アイコンを選択します。
- [接続および資格情報エイリアス] フォームで、[新規] をクリックします。
- 認証情報エイリアスレコードの名前を指定します。
- エイリアスの属性を定義します。[Type] を [認証情報] に設定します。
- フォームヘッダーを右クリックし、[保存] を選択してから [更新] を選択します。
- 接続および資格情報エイリアスフォームで、新たに追加したエイリアスを選択します。
[認証情報エイリアス] フィールドにエイリアスが表示されます。
- Kubernetes 認証情報フォームで、[更新] を選択します。
- Kubernetes パターンに対するサーバーレスディスカバリースケジュールを作成します。製品ドキュメントに記載されているとおりにサーバーなし実行パターンを作成して定義します。Kubernetes パターンで必要となるパラメーターを次のように設定します。
表 : 1. 実行パターン属性の構成 フィールド 説明 url ホスト名、IP または FQDN、および Kubernetes API サーバーのポートの識別子。example_hostname:example_port または example_ip:example_port の形式を使用します。正しいプロトコル (HTTP または HTTPS) を URL に入力します。 namespace Kubernetes ディスカバリーの構成でシステムから渡された名前空間。次のいずれかの値を入力します。 - 個別の名前空間:名前空間を入力してから「kube-system」を入力します。例:dev,kube-system
- デフォルト値:「default, kube-system」と入力します。
- マルチパイル名前空間:名前空間を入力し、カンマ (,) を使用して値を区切り、「kube-system」と入力します。例:automation,application,test,kube-system
- すべての名前空間:すべての名前空間を入力するには、アスタリスク (*) を使用します。
認証情報エイリアス 以前に作成した Kubernetes 認証情報に関連付けられたエイリアス。 クラスター名 <serviceaccountid><space><clustername> 形式での Kubernetes クラスターの名前。 provider クラウドプロバイダー:GCP または AWS または Azure。 cluster_resource_id クラスターリソース ID の例: - Azure Kubernetes クラスター - リソース ID。
- AWS - クラスター ARN。
- GCP - クラスターのグローバル名。
- Kubernetes イベントパターンに対するサーバーレスディスカバリースケジュールを作成します。5 分または 10 分おきに実行するようにスケジュールを設定します。 注:パターンが初めて実行されると、event_timestamp が保存されます。後で、タイムスタンプに基づいてデルタイベントのみを収集します。パターンが頻繁に実行されると、必要な CMDB IRE の更新が少なくなります。
ディスカバリースケジュールに対してサーバーなし実行パターンを作成し、それを Kubernetes イベントのパターンに割り当てます。「実行パターン属性の構成」で述べたように、Kubernetes パターンで必要となるパラメーターを構成します。
- 検出されたコンポーネントをサービスインスタンスに含めるには、 サービスマッピング によるタグベースのディスカバリーで使用される CI 関係を有効にします。これらの CI 関係は、ServiceNow Store の 1.0.68 リリースから利用可能です。操作手順については「タグベースのディスカバリーの構成」を参照してください。
Kubernetes クラウドインフラストラクチャディスカバリーの前提条件
Google Cloud Platform (GCP) - Kubernetes クラスターを取得のパターンの場合は、次を実行します。
- ServiceNow インスタンスで、有効な認証情報と権限で Google Cloud Platform (GCP) サービスアカウントを設定します。
- GCP インフラストラクチャで、MID サーバー にすべてのクラウド API へのフルアクセスを設定します。[クラウド API アクセススコープ (Cloud API access scopes)] を [すべてのクラウド API へのフルアクセスを許可 (Allow full access to all Cloud APIs)] に設定します。MID サーバーインスタンスは、プロジェクト固有のクラスターにのみアクセスできます。
sys_properties.listに移動し、次のプロパティを設定します。- sn_itom_pattern.k8s_midserver:有効な MID サーバー 名を指定します。
- sn_itom_pattern.k8s_create_schedule_enabled:値を true に設定します。注:sn_itom_pattern.k8s_create_schedule_enabledプロパティを有効にすると、クラウドクラスターのサーバーレススケジュールが自動的に作成され、手動スケジューリングが不要になります。既存の手動スケジュールがあり、それを自動スケジュールに変換する場合は、このプロパティを有効にします。手動スケジュールが更新されます。追加のスケジュールは作成されません。
- Google Cloud ディスカバリー を作成して実行します。 注:
ベアラートークンをフェッチするには、GKE Kubernetes スケジュールの実行中に gcloud コマンドを使用します。
gcloud config config-format="value(credential.access_token)"MID サーバーインスタンスで gcloud を構成すると、GKE クラスターにトークンをフェッチするためのアクセス権が付与されます。
Amazon Elastic Kubernetes Service (EKS) クラスターディスカバリーでは、次を実行します。
- ServiceNow インスタンスで、有効な管理アカウントの認証情報と権限で AWS サービスアカウントを設定します。
- Amazon Elastic Kubernetes Service (EKS) クラスターに、すべてのリソースへの読み取り専用アクセス権を持つクラスターロールがあることを確認します。
- クラスターロールと Kubernetes ユーザー間のクラスターロールバインディングを作成します。たとえば、読み取り専用ユーザーです。
- ポリシー EKSReadOnly で AWS IAM ロールを作成します。
- 次のいずれかの方法で、IAM ロールを Kubernetes ユーザーに関連付けます。
- クラスターで、aws-auth ConfigMap を編集します。
- 次のコマンドを実行します。
eksctl create iamidentitymapping --cluster yourClusterName --arnarn:aws:iam::yourAccountID:role/yourIAMRoleName --username read-only-user
-
Amazon Elastic Kubernetes Service (EKS) クラスターディスカバリーを次の 2 つのうちどちらかの方法で実行します。AWS コマンドラインインターフェイス (CLI) を使用する方法と、AWS CLI を使用しない方法です。まず、選択したモデルを使用するようにシステムプロパティ sn_itom_pattern.k8s_aws_cli_to_generate_token を設定します。このシステムプロパティはデフォルトで true に設定されています。
-
AWS CLI を使用してトークンを生成するには、このシステムプロパティを true に設定します。
-
想定ロールを使用してトークンを生成するには、このシステムプロパティを false に設定します。
-
AWS CLI を使用して Amazon Elastic Kubernetes Service (EKS) クラスターディスカバリーを実行します。
-
AWS CLI を構成して MID サーバー をセットアップします。AWS CLI 認証情報を構成すると、Amazon Elastic Kubernetes Service (EKS) クラスターへのアクセス権が付与されます。
注:システムにログインしているユーザーは、MID サーバー ユーザーと同じである必要があります。 -
ベアラートークンを生成するには、Amazon Elastic Kubernetes Service (EKS) スケジュールの実行中に AWS CLI コマンド
aws eks get-token --cluster-name<cluster_name>を使用します。MID サーバー インスタンスで AWS CLI ユーザー/ロールを構成すると、トークンを生成するための Amazon Elastic Kubernetes Service (EKS) クラスターへのアクセス権が付与されます。
-
-
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 なし))」。
-
sys_properties.listに移動し、次のプロパティを設定します。- sn_itom_pattern.k8s_midserver:有効な MID サーバー 名を指定します。
- sn_itom_pattern.k8s_create_schedule_enabled:値を true に設定します。注:sn_itom_pattern.k8s_create_schedule_enabledプロパティを有効にすると、クラウドクラスターのサーバーレススケジュールが自動的に作成され、手動スケジューリングが不要になります。既存の手動スケジュールがあり、それを自動スケジュールに変換する場合は、このプロパティを有効にします。手動スケジュールが更新されます。追加のスケジュールは作成されません。
-
AWS Cloud ディスカバリースケジュールを作成して実行します。
- 最新の ディスカバリーとサービスマッピングパターン バージョンに更新します。
- ServiceNow インスタンスで、有効な Azure 認証情報と権限を持つ Azure サービスアカウントを構成します。
sys_properties.listに移動し、次のプロパティを設定します。- sn_itom_pattern.k8s_midserver:有効な MID サーバー 名を指定します。
- sn_itom_pattern.k8s_create_schedule_enabled:値を true に設定します。注:.sn_itom_pattern.k8s_create_schedule_enabledプロパティを有効にすると、クラウドクラスターのサーバーレススケジュールが自動的に作成され、手動スケジューリングが不要になります。既存の手動スケジュールがあり、それを自動スケジュールに変換する場合は、このプロパティを有効にします。手動スケジュールが更新されます。追加のスケジュールは作成されません。
- Kubernetes RBAC を使用するローカルアカウントがなく、パターンの効率を向上させる場合は、 そして sn_itom_pattern.aks_fetch_local_ad_token プロパティを false に設定します。
- Azure クラウドディスカバリースケジュールを実行します。
-
クラスターアカウントタイプに応じて、ディスカバリーのスケジュールの 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 -。注:- システムにログインしているユーザーは、MID サーバー ユーザーと同じである必要があります。
- AKS クラスター探索の構成の詳細については、Now Support ナレッジベース の AKS クラスター探索構成の詳細 [KB1220553] の記事を参照してください。
| プロパティ名 | プロパティの説明 | タイプ | デフォルト値 | |
|---|---|---|---|---|
|
sn_itom_pattern.manifest_digest_image_id | ブーリアン |
false 注:
このプロパティを true に設定してディスカバリーを実行する前に、すべての Docker 画像レコードを削除して、重複するレコードが作成されないようにします。 |
||
|
sn_itom_pattern.k8s_create_schedule_enabled |
パターンの実行を制御するシステムプロパティで有効/無効にできる機能フラグ。有効にすると、新しいプロパティ値に関係なくディスカバリースケジュールが作成されます。 |
ブーリアン | false | |
| sn_itom_k8s_run_cloud_discovery | このプロパティを有効にすると、クラウドの k8s パターンが実行され、自動スケジュールを作成せずに k8s クラスターが検出されます。 | ブーリアン | 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_ 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 分後になる動的タイミングを使用できます 。HH:MM:SS 形式の値 例:10:11:12 (HH:MM:SS) |
文字列 |
<service_account_id>は [クラウドサービスアカウント (Cloud Service Accounts)] の下のアカウント ID 名です。詳細については、クラウドディスカバリー でクラウドリソースを検出するためのスケジュールの作成 を参照してください。Kubernetes 認証情報なしのディスカバリーまたは mid-in-cluster ディスカバリー
Kubernetes認証情報なしディスカバリーの前提条件
コンテナ化された MID サーバー を Kubernetes クラスターに展開します。クラスター内のMID サーバーが自動的に API サーバーを検出して認証するためKubernetesKubernetes認証情報を構成する必要はありません。
| フィールド | 説明 |
|---|---|
| URL |
[URL] フィールドに次のいずれかの値を入力します。 https://cluster または https://kubernetes.default.svc |
| namespace |
Kubernetes ディスカバリーの構成でシステムから渡された名前空間。次のいずれかの値を入力します。
|
| 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 サーバーポートの識別子。 |
| namespace | この値は、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 アドレス。 |
| キー値 [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。 |
| OpenShift ビルド構成 [cmdb_ci_openshift_build_conf] | |
| name | OpenShift ビルド構成の名前。 |
| namespace | ビルド構成が含まれる OpenShift 名前空間の名前。 |
| k8s | Kubernetes ボリュームの UUID。 |
| url | OpenShift ビルド構成の URL。 |
| OpenShift Source2Image [cmdb_ci_openshift_source_2_image] | |
| name | OpenShift ソースイメージの名前。 |
| to | 関連するイメージ。 |
| parent_id | OpenShift ソースイメージの ID。 |
| OpenShift ルーティング [cmdb_ci_openshift_route] | |
| name | OpenShift ルーティングの名前。 |
| namespace | OpenShift ルーティングが含まれる名前空間の名前。 |
| k8s_uid | Kubernetes ボリュームの UUID。 |
| url | OpenShift ルーティングの URL |
| host | OpenShift ルーティングのターゲットホスト。 |
| port | OpenShift ルーティングのターゲットポート。 |
| OpenShift グループ [cmdb_ci_openshift_group] | |
| name | OpenShift グループの名前。 |
| k8s_uid | Kubernetes ボリュームの UUID。 |
| url | OpenShift グループの URL。 |
| OpenShift ユーザー [cmdb_ci_openshift_user] | |
| name | OpenShift ユーザーの名前 |
| k8s_uid | Kubernetes ボリュームの UUID。 |
| url | OpenShift ユーザーの URL。 |
| full_name | OpenShift ユーザーのフルネーム。 |
| OpenShift プロジェクト [cmdb_ci_openshift_project] | |
| name | OpenShift プロジェクトの名前 |
| k8s_uid | Kubernetes ボリュームの UUID。 |
| url | OpenShift プロジェクトの URL。 |
| OpenShift イメージ [cmdb_ci_openshift_images] | |
| name | OpenShift イメージの名前。 |
| k8s_uid | Kubernetes ボリュームの UUID。 |
| url | OpenShift イメージの URL。 |
| 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。 |
| namespace | OpenShift イメージストリームが含まれる名前空間の名前。 |
| OpenShift Docker イメージリポジトリ [cmdb_ci_openshift_docker_images_repository] | |
| name | OpenShift Docker イメージリポジトリの名前。 |
| parent_ID | 親システムの ID。 |
| 名前空間 [cmdb_ci_kubernetes_namespace] | |
| name | Kubernetes 名前空間の名前。 |
| state |
Kubernetes 名前空間のフェーズ:[アクティブ] または [終了]。 |
| テーブルとフィールド | 説明 |
|---|---|
| コンテナーリポジトリ [cmdb_ci_container_repository] | |
| 名前 [name] | コンテナーリポジトリの名前。 |
| コンテナーリポジトリエントリー [cmdb_ci_container_repository_entry] | |
| 名前 [name] | コンテナーリポジトリエントリーの名前 |
| カテゴリ [category] | コンテナーリポジトリエントリーのカテゴリ |
Kubernetes パターンによって収集される CI 関係
| 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] |
| 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 関係
| 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] |
タグベースのディスカバリー中に サービスマッピング に収集されるデータ
| 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」を参照してください。