Kubernetes Découverte à l’aide de schémas

  • Rversion finale: Australia
  • Mis à jour 23 mars 2026
  • 28 minutes de lecture
  • L’utilisateur trouve des composants à OpenShift l’aide de modèles et crée des services d’application qui les contiennent. Découverte recherche également des Kubernetes événements et les met fréquemment à jour pour CMDB refléter l’environnement dynamiqueKubernetes.Kubernetes ServiceNow Visibilité ITOM

    Découverte utilise le modèle et ses sections d’extension pour détecter Kubernetes les Kubernetes composants :
    • La Collect OpenShift info section d’extension du Kubernetes modèle détecte les OpenShift composants du Kubernetes déploiement. La OpenShift section d’extension Build Config est disponible à partir de la version 1.0.53 du Store.
    • L’extension Service Mesh découvre les détails du maillage de service. Ces informations permettent au schéma de créer des relations de service à service, affichées comme suit : Se connecte à ::Connected. La découverte de maillage de services nécessite le déploiement d’Istio sur votre cluster K8s (Kubernetes). La section d’extension Service Mesh est disponible à partir des classes d’extension Kubernetes. Il est pris en charge sur la version ou une ServiceNow AI PlatformMadrid version ultérieure.
    • La Collect Container Repository section et extension trouve des registres de conteneurs et des images dans ces registres.

    En outre, Découverte utilise le modèle d’événement pour détecter les Kubernetes événements pour Kubernetes les composants.

    À partir de la version ServiceNow Store1.0.68, peut Mappage des services utiliser des relations de CI pour ajouter les composants aux services d’application lors de la détection basée sur les Kubernetes balises.

    Découverte utilise les schémas suivants pour détecter l’ensemble de Kubernetes l’infrastructure déployée le GCP, AWS et Azure:
    • Google Cloud Platform (GCP) – Obtenir Kubernetes des grappes.
    • Amazon AWS Cloud - Obtenez Kubernetes des grappes.
    • Microsoft Azure - Obtenez Kubernetes des grappes.
    Ces modèles interrogent le cloud, collectent des données sur tous les clusters Kubernetes, et créent un calendrier sans serveur pour chaque cluster. Lorsque la grappe est supprimée, le calendrier est marqué comme inactif. Cette fonctionnalité élimine les frais généraux liés à la création et à la gestion de plusieurs informations d’identification et calendriers de découverte sans serveur par grappe. Les schémas d’infrastructure dans le cloud sont déclenchés via la découverte dans le cloud standard.

    Versions prises en charge

    Les modèles ont été validés avec les versions suivantes Kubernetes :Red Hat OpenShift
    Tableau 1. Validées Kubernetes et OpenShift versions
    Plateforme/modèle Version validée
    Sur sites Kubernetes 1.34
    Google Kubernetes Engine (GKE) 1.34
    Azure Kubernetes Engine (AKS) 1.34
    Amazon Elastic Kubernetes Service (EKS) 1.34
    Kubernetes Schémas d’événements 1.34
    OpenShift 4.19.20

    Demander des applications dans l'App Store

    Visitez le ServiceNow Store pour afficher toutes les applications disponibles et pour obtenir des informations sur la soumission de demandes à la boutique. Pour obtenir des informations sur les notes de publication cumulatives pour toutes les applications publiées, consultez les ServiceNow Store notes de publication relatives à l'historique des versions.

    Prérequis

    Remarque :
    Pour connaître les conditions préalables à la détection d’une Kubernetes infrastructure cloud, voir ci-dessous.
    Remarque :
    L’exécution de calendriers automatiques sans serveur Kubernetes récupère le jeton de porteur. Il n’est pas nécessaire d’ajouter des informations d’identification.
    Procédez comme suit afin de Découverte pouvoir utiliser le schéma pour réussir à trouver Kubernetes.
    1. Déployer la dernière Schémas de découverte et de mappage des services application à partir de ServiceNow Store.
    2. Sur la Kubernetes plateforme, recherchez les paramètres pour configurer Kubernetes la détection :
      • Recherchez l’URL du serveur kubeapi :
        1. Sur la Kubernetes plateforme, exécutez la commande suivante :

          kubectl cluster-info

        2. Dans la sortie, recherchez la ligne qui indique l’URL du serveur kubeapi. Par exemple, le Kubernetes plan de contrôle s’exécute à

          https://10.154.144.146:443

      • Recherchez les espaces de noms du serveur kubeapi :
        1. Sur la Kubernetes plateforme, exécutez cette commande :

          Kubectl Obtenir des espaces de noms

        2. Dans la sortie, recherchez la ligne qui indique les espaces de noms. Par exemple, kube-system.
      • Trouvez le nom d’utilisateur et le Kubernetes mot de passe :
        1. Sur la Kubernetes plateforme, exécutez cette commande :

          Vue de configuration Kubectl

        2. Dans la sortie, recherchez le nom d’utilisateur et le mot de passe.Localisez les lignes qui contiennent des informations sur le mot de passe et le nom d’utilisateur.
          Remarque :
          Si, dans un environnement donné, la commande kubectl config view n’affiche pas les détails attendus, utilisez la commande prise en charge de l’administrateur Kubernetes pour récupérer les détails du nom d’utilisateur et du mot de passe.
      • Trouvez le jeton de porteur valide avec les autorisations appropriées :
        • Si vous connaissez le nom du jeton par défaut, utilisez la commande au format suivant : kubectl décrire le secret <nom du jeton par défaut>.

          Par exemple : kubectl describe secret default-token-g6pwc.

        • Si vous ne connaissez pas le nom du jeton par défaut, utilisez la commande : kubectl describe secret.
    3. Vérifiez que le serveur d’API est accessible à partir de pour Serveur MID une découverte réussie Kubernetes .
    4. Vérifiez que l’utilisateur configuré sur la Kubernetes plateforme dispose des autorisations GET pour exécuter les éléments /api/v1 suivants :
      • 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. Pour détecter les OpenShift composants du Kubernetes déploiement, vérifiez que l’utilisateur configuré sur la Kubernetes plateforme dispose des autorisations GET pour exécuter les éléments /api/v1 suivants :
      • /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
      Pour découvrir les informations de maillage de services :
      • Déployez Istio sur votre cluster K8s.
      • Fournissez l’URL de Prometheus.
      • Configurez Prometheus pour extraire les mesures d’Istio.
    6. Activez l’extension Obtenir les fichiers de configuration Kubernetes sur :
      • Détecter les fichiers de configuration.
      • Créez des fichiers de configuration suivis.
      • Mappez les fichiers de configuration, les charges de travail et les services avec une relation.
      Remarque :
      Le contenu des fichiers suivis est au format de la JSON version 1.0.92. Le contenu des fichiers suivis est au format YAML dans les versions 1.0.91 et antérieures.
    7. Créez les informations d’identification Kubernetes sur la ServiceNow plateforme :
      1. Dans le ServiceNow AI Platform, accédez à Tous > Découverte > Informations d'identification.
      2. Sélectionnez Nouveau.
      3. Sélectionnez les informations d’identification Kubernetes.
      4. Remplissez les champs du formulaire.
        Champ Description
        Nom Nom unique et descriptif pour ces informations d'identification.
        Nom d'utilisateur Nom d’utilisateur associé à cet identifiant. Les espaces de début ou de fin doivent être évités ; Si l’un d’entre eux est détecté, un avertissement apparaîtra.

        Une seule méthode d’authentification doit être utilisée : soit un nom d’utilisateur et un mot de passe, soit un jeton Bearer. N’utilisez pas les deux.

        Mot de passe Mot de passe associé à cet identifiant.

        Une seule méthode d’authentification doit être utilisée : soit un nom d’utilisateur et un mot de passe, soit un jeton Bearer. N’utilisez pas les deux.

        Authentification de jeton porteur Cette option active l’authentification avancée à l’aide d’un jeton de porteur.

        Lorsque la case est cochée, le champ Jeton de porteur s’affiche.

        Jeton porteur Découverte utilise le jeton Bearer pour l’authentification avancée lors de l’accès à Kubernetes.

        Le jeton Bearer doit être au format codé BASE64, en utilisant la séquence de caractères comme jeton. Par exemple : 31ada4fd-adec-460c-809a-9e56ceb75269.

        Une seule méthode d’authentification doit être utilisée : soit un nom d’utilisateur et un mot de passe, soit un jeton Bearer. N’utilisez pas les deux.

        Alias d'identification Un alias est configuré pour utiliser les informations d’identification pour les Kubernetes appareils et applications autres que Kubernetes. Cet alias est également utilisé lors de la définition d’une planification de découverte sans serveur pour la détection du Kubernetes déploiement.
        1. Sélectionnez l’icône du cadenas, puis sélectionnez l’icône de recherche.
        2. Dans le formulaire Alias de connexion et d’informations d’identification, sélectionnez Nouveau.
        3. Spécifiez un nom pour l’enregistrement d’alias d’informations d’identification.
        4. Définissez les attributs de l’alias. Définir sur Informations d’identificationType
        5. Sélectionnez et maintenez enfoncé (ou cliquez avec le bouton droit de la souris) l’en-tête du formulaire, puis sélectionnez Enregistrer, puis sélectionnez Mettre à jour.
        6. Dans le formulaire Alias de connexion et d’informations d’identification, sélectionnez l’alias que vous venez d’ajouter.

          L’alias apparaît dans le champ Alias d’informations d’identification.

      5. Sur le formulaire Informations d’identification Kubernetes , sélectionnez Mettre à jour.
    8. Créez un calendrier de découverte sans serveur pour le Kubernetes schéma.
      Créez et définissez le modèle d’exécution sans serveur tel que décrit dans la documentation du produit. Configurez les paramètres requis par le Kubernetes modèle comme suit :
      Tableau 2. Configuration des attributs de modèle d’exécution
      Champ Description
      URL Identificateur du nom d’hôte, adresse IP ou FQDN et port du serveur d’API Kubernetes . Utilisez le format suivant : example_hostname :example_port ou xample_ip :example_port. Fournissez le protocole correct (HTTP ou HTTPS) dans l’URL.
      espace de noms Espaces de noms que le système transmet dans la Kubernetes Découverte configuration. Saisissez l'une des valeurs suivantes :
      • Espace de noms individuel : entrez l’espace de noms, puis « kube-system ». Par exemple : dev,kube-system
      • Valeur par défaut : entrez default, kube-system
      • Espaces de noms multipile : entrez les espaces de noms, utilisez une virgule (,) pour séparer les valeurs, puis entrez « kube-system ». Par exemple : automatisation, application, test, kube-system
      • Tous les espaces de noms : utilisez un astérisque (*) pour entrer tous les espaces de noms
      Alias d’informations d’identification Alias associé aux informations d’identification créées Kubernetes précédemment.
      Nom de grappe Nom de la Kubernetes grappe, au format suivant : <serviceaccountid><space><clustername>.
      fournisseur Fournisseur de cloud : ou AWS ou AzureGCP .
      cluster_resource_id Exemple d’ID de ressource de grappe :
      • Azure Kubernetes grappes : ID de ressource.
      • AWS- ARN de la grappe.
      • GCP- Nom global de la grappe.
    9. Créez une planification de découverte sans serveur pour le modèle d’événement Kubernetes . Configurez le calendrier pour qu’il s’exécute toutes les 5 ou 10 minutes.
      Remarque :
      Lorsque le schéma est exécuté pour la première fois, il stocke une event_timestamp. Plus tard, il collecte uniquement les événements delta en fonction de l’horodatage. Plus le schéma est exécuté souvent, moins il est nécessaire de mettre à CMDB IRE jour.

      Créez un modèle d’exécution serverless pour le calendrier de découverte et affectez-le au schéma d’événements Kubernetes . Configurez les paramètres requis par le Kubernetes modèle comme décrit dans .Configuration des attributs de modèle d’exécution

    10. Pour inclure les composants détectés dans les instances de service, activez les relations CI utilisées dans la découverte basée sur les balises par Mappage des services. Ces relations CI sont disponibles à partir de la version 1.0.68 sur ServiceNow Store. Pour les étapes opérationnelles, consultez la rubrique Configuration de découverte basée sur les balises.

    Conditions préalables à Kubernetes la découverte d’infrastructures dans le cloud

    Pour le Google Cloud Platform (GCP) schéma – Get Clusters (Obtenir Kubernetes des grappes ), procédez comme suit :

    1. Dans l’instance, configurez un compte de service avec des Google Cloud Platform (GCP) informations d’identification et des ServiceNow autorisations valides.
    2. Sur l’infrastructure, configurez le Serveur MID avec un accès complet à toutes les API dans le GCP cloud : définissez les périmètres d’accès à l’API dans le cloud sur « Autoriser un accès complet à toutes les API dans le cloud ». L’instance Serveur MID ne peut accéder qu’aux grappes spécifiques au projet.
    3. Accédez à sys_properties.list et configurez les propriétés suivantes :
      • sn_itom_pattern.k8s_midserver: spécifiez un nom valide Serveur MID .
      • sn_itom_pattern.k8s_create_schedule_enabled: définir la valeur sur vrai.
        Remarque :
        L'activation de la propriété sn_itom_pattern.k8s_create_schedule_enabled crée automatiquement un calendrier sans serveur pour vos clusters dans le cloud, éliminant ainsi le besoin de planification manuelle. Si disposez déjà d'un calendrier manuel et souhaitez le convertir en calendrier automatique, activez la propriété. Votre calendrier manuel sera mis à jour et aucun autre calendrier ne sera créé.
    4. Créer et exécuter Google Cloud Découverte
      Remarque :

      Pour extraire le jeton Bearer, lors de l’exécution de la planification GKE Kubernetes , utilisez la commande gcloud :

      gcloud config helper --format="valeur(credential.access_token) »

      La configuration de gcloud dans l’instance accorde l’accès Serveur MID à la grappe GKE pour extraire le jeton.

    Pour la détection de grappe Amazon Elastic Kubernetes Service (EKS) , procédez comme suit :

    1. Dans l’instance ServiceNow , définissez un compte de service avec des informations d’identification et des AWS autorisations de compte de gestion valides.
      1. Vérifiez que la grappe dispose d’un Amazon Elastic Kubernetes Service (EKS) rôle de grappe avec un accès en lecture seule à toutes les ressources.
      2. Créez une liaison de rôle de grappe entre le rôle de grappe et un Kubernetes utilisateur. Par exemple, utilisateur en lecture seule.
      3. Créez un AWS rôle IAM avec la politique EKSReadOnly.
      4. Associez le rôle IAM à l’utilisateur de l’une Kubernetes des façons suivantes :
        • Dans la grappe, modifiez la ConfigMap aws-auth.
        • Exécutez la commande suivante :

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

    2. Exécutez Amazon Elastic Kubernetes Service (EKS) la découverte de grappe de deux manières : à l’aide de l’interface AWS de ligne de commande (CLI) ou sans utiliser l’interface de ligne AWS de commande. Commencez par définir la propriété sn_itom_pattern.k8s_aws_cli_to_generate_token système pour utiliser le modèle que vous choisissez. Cette propriété système est définie sur true par défaut.

      • Définissez cette propriété système sur vrai pour utiliser l’interface AWS de ligne de commande afin de générer un jeton.

      • Définissez cette propriété système sur faux pour utiliser Endosser les rôles pour générer un jeton.

      1. Exécutez la Amazon Elastic Kubernetes Service (EKS) découverte de grappe à l’aide de l’interface AWS de ligne de commande :

        1. Configurez avec Serveur MID l’interface de AWS ligne de commande configurée. La configuration des AWS informations d’identification CLI accorde l’accès à la Amazon Elastic Kubernetes Service (EKS) grappe.

          Remarque :
          L’utilisateur connecté au système doit être le même que l’utilisateur Serveur MID .
        2. Pour générer le jeton de porteur, lors de l’exécution du Amazon Elastic Kubernetes Service (EKS) calendrier, utilisez la AWS commande CLI :aws eks get-token --cluster-name <cluster_name>.

          La configuration de l’utilisateur/du rôle CLI AWS dans l’instance Serveur MID accorde l’accès à la Amazon Elastic Kubernetes Service (EKS) grappe pour générer le jeton.

      2. Exécuter Amazon Elastic Kubernetes Service (EKS) la découverte de grappe sans utiliser l’interface AWS de ligne de commande :

        Remarque :

        Cette fonctionnalité est prise en charge à partir de la Schémas de découverte et de mappage des services version 1.0.96 - décembre 2022.

        Reportez-vous à la base de connaissances suivante pour obtenir des instructions détaillées : KB1182188 : découverte de grappe EKS à l’aide de STS AssumeRoles (sans interface de ligne de commande AWS)

    3. Accédez à sys_properties.list et configurez les propriétés suivantes :
      • sn_itom_pattern.k8s_midserver: spécifiez un nom valide Serveur MID .
      • sn_itom_pattern.k8s_create_schedule_enabled: définir la valeur sur vrai.
        Remarque :
        L'activation de la propriété sn_itom_pattern.k8s_create_schedule_enabled crée automatiquement un calendrier sans serveur pour vos clusters dans le cloud, éliminant ainsi le besoin de planification manuelle. Si disposez déjà d'un calendrier manuel et souhaitez le convertir en calendrier automatique, activez la propriété. Votre calendrier manuel sera mis à jour et aucun autre calendrier ne sera créé.
    4. Créez et exécutez un AWS Découverte dans le cloud calendrier.

    Pour Microsoft Azure Kubernetes Services (AKS) : Kubernetes découverte de grappes, procédez comme suit :

    1. Effectuez la mise à jour vers la dernière Schémas de découverte et de mappage des services version.
    2. Dans l’instance, configurez le compte de service avec des ServiceNowAzure informations d’identification et une autorisation valides Azure .
    3. Accédez à sys_properties.list et configurez les propriétés suivantes :
      • sn_itom_pattern.k8s_midserver: spécifiez un nom valide Serveur MID .
      • sn_itom_pattern.k8s_create_schedule_enabled: définir la valeur sur vrai.
        Remarque :
        L'activation de la propriété sn_itom_pattern.k8s_create_schedule_enabled crée automatiquement un calendrier sans serveur pour vos clusters dans le cloud, éliminant ainsi le besoin de planification manuelle. Si disposez déjà d'un calendrier manuel et souhaitez le convertir en calendrier automatique, activez la propriété. Votre calendrier manuel sera mis à jour et aucun autre calendrier ne sera créé.
        .
    4. Si vous n’avez pas de comptes locaux avec Kubernetes RBAC et que vous souhaitez améliorer l’efficacité du schéma, accédez à Serveur MID > Propriétés et définir la sn_itom_pattern.aks_fetch_local_ad_token propriété sur false.
    5. Exécutez un calendrier de découverte dans le Azure cloud.
    6. Configurez les Serveur MID dans les Découverte calendriers en fonction du type de compte de grappe. Si vous n’avez pas de comptes locaux avec RBAC, vous pouvez ignorer cette étape.

      Type de compte de grappe Découverte Schedule (Planifier) Serveur MID

      Authentification MS Entra ID avec Kubernetes RBAC.

      N’importe quel Serveur MID.

      Authentification MS Entra ID avec Azure RBAC.

      N’importe quel Serveur MID.

      Comptes locaux avec Kubernetes RBAC.

      Sélectionnez avec l’interface Serveur MIDAzure de ligne de commande (CLI) configurée. La configuration des informations d’identification CLI Azure accorde l’accès à la grappe AKS.

      Pour extraire le jeton Bearer lors de l’exécution du calendrier AKS Kubernetes , utilisez la Azure commande CLI : az aks get-credentials --name <cluster_name> --overwrite-existing --resource-group <resourceGroup_name> --file -.

      Remarque :
    Tableau 3. Autre prise en charge Configuration système
    Nom de la propriété Description de la propriété Type Valeur par défaut

    sn_itom_pattern.manifest_digest_image_id

    Booléen

    Faux

    Remarque :
    Avant de définir cette propriété sur vrai et d’exécuter la découverte : évitez la création d’enregistrements en double en supprimant tous les Docker enregistrements d’images.

    sn_itom_pattern.k8s_create_schedule_enabled

    Marqueur de fonctionnalité activable/désactivable sous les propriétés système, chargé de contrôler l’exécution du schéma. Lorsqu’elle est activée, elle crée des calendriers de découverte malgré la nouvelle valeur de propriété.

    Booléen Faux
    sn_itom_k8s_run_cloud_discovery Lorsqu’elle est activée, cette propriété exécute des schémas dans le cloud Kubernetes , détectant Kubernetes des grappes sans créer de calendriers automatiques. Booléen Faux
    Serveur MID

    sn_itom_pattern.k8s_midserver

    [Par défaut]

    Exemple : nom valide Serveur MID

    Chaîne

    sn_itom_pattern.k8s_<service_account_id>_midserver

    [basé sur le niveau du compte de service]

    Exemple : nom valide Serveur MID

    Chaîne

    sn_itom_pattern.k8s_<service_account_id>_<clustername>_midserver

    [D’après le nom de la grappe]

    Exemple : nom valide Serveur MID

    Chaîne

    sn_itom_pattern.kubernetes_collect_volume

    Lorsque la propriété est définie sur True, les données du Kubernetes volume [cmdb_ci_kubernetes_volume] sont renseignées.

    Chaîne Faux

    sn_itom_pattern.k8s_add_workload_to_image_relation

    À partir de Schémas de découverte et de mappage des services la version 1.30.2, les Kubernetes modèles créent une relation indirecte uniquement entre Docker les CI d’image et de charge de travail via Kubernetes des pods. Définir la propriété sur vrai crée également des relations directes entre Docker Image et les types de CI de charge de travail suivants : déploiement, DaemonSet, ReplicaSet, StatefulSet et ReplicationController. Booléen Faux
    Alias d'informations d'identification

    sn_itom_pattern.K8S_ cred_alias

    [Par défaut]

    Exemple : nom de l’alias d’informations d’identification

    Chaîne

    sn_itom_pattern.k8s_<service_account_id>_alias

    [basé sur le niveau du compte de service]

    Exemple : nom d’alias d’informations d’identification valide.

    Chaîne

    sn_itom_pattern.k8s_<service_account_id>_<nom de grappe>_alias

    [D’après le nom de la grappe]

    Exemple : nom d’alias d’informations d’identification valide.

    Chaîne
    Prometheus Url

    sn_itom_pattern.k8s_ prometheusUrl

    [Par défaut]

    Exemple : URL Prometheus valide

    Chaîne

    sn_itom_pattern.k8s_<service_account_id>_prometheusUrl

    [basé sur le niveau du compte de service]

    Exemple : URL Prometheus valide

    Chaîne

    sn_itom_pattern.k8s_<service_account_id>_<clustername>_prometheusUrl

    [D’après le nom de la grappe]

    Exemple : URL Prometheus valide

    Chaîne

    sn_itom_pattern.k8s_ exécution

    [Pris en charge Découverte Exécution du calendrier : quotidien, sur demande, jours de la semaine, week-ends, dernier jour, dernier jour du mois, fin du trimestre calendaire]

    Exemple : Quotidien

    Chaîne

    sn_itom_pattern.k8s_batch_count

    [Indique le nombre de calendriers à exécuter par lots ; défini par défaut sur 5]

    Exemple : 5 (nombre de calendriers à exécuter par lots)

    Entier 5

    sn_itom_pattern.k8s_schedule_batch_delay

    [conserve la trace de la différence de temps entre deux valeurs de lots contenue en secondes]

    Exemple : 300 (en secondes)

    Entier

    sn_itom_pattern.k8s_run_time

    [Conserve la trace de l’heure actuelle pour un lot]

    Si cette propriété est définie, vous pouvez l’utiliser ou utiliser la synchronisation dynamique, qui sera de 5 minutes après la synchronisation actuelle du système. Valeurs contenues au format HH :MM :SS

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

    Chaîne
    Remarque :
    <service_account_id> s’agit du nom de l’ID de compte sous Comptes de service dans le cloud. Pour plus d’informations, voir : Créer Découverte des calendriers pour les ressources dans le cloud

    Kubernetes Découverte sans informations d’identification ou au milieu de la grappe

    Conditions préalables à la Kubernetes détection sans informations d’identification :

    Déployez le conteneurisé Serveur MID sur la Kubernetes grappe. La configuration Kubernetes des informations d’identification n’est pas nécessaire, car le Serveur MIDKubernetes cluster in détecte automatiquement le serveur d’API et effectue l’authentification.

    Tableau 4. Configuration des attributs de modèle d’exécution pour la découverte sans informations d’identification
    Champ Description
    URL

    Entrez l’une des valeurs suivantes dans le champ URL :

    https://cluster

    Ou

    https://kubernetes.default.svc

    espace de noms

    Espaces de noms que le système transmet dans la Kubernetes Découverte configuration. Saisissez l'une des valeurs suivantes :

    • Espace de noms individuel : entrez l’espace de noms, puis « kube-system ». Par exemple : dev,kube-system
    • Valeur par défaut. Entrée :default,kube-system
    • Espaces de noms multipile : entrez les espaces de noms, utilisez une virgule (,) pour séparer les valeurs, puis entrez « kube-system ». Par exemple : automatisation, application, test, kube-system
    • Tous les espaces de noms : utilisez un astérisque (*) pour entrer tous les espaces de noms.
    cluster_name Saisissez un nom unique.

    Données collectées par Découverte lors d'une détection horizontale

    Table et champ Description
    Kubernetes Grappe [cmdb_ci_kubernetes_cluster]
    Nom Le nom du responsable kube-controller-manager.
    K8s_uid UID de l’espace de noms kube-system [versions prises en charge : 1.0.92 et versions ultérieures]
    ip_address Identificateur du host_ip du Kubernetes serveur API.
    port

    Identificateur du port du Kubernetes serveur API.

    espace de noms Cette valeur affiche les espaces de noms que le système a transmis dans la Kubernetes Découverte configuration.
    event_timestamp Horodatage du dernier événement créé sur cette Kubernetes grappe au moment de la découverte.
    Kubernetes Nœud [cmdb_ci_kubernetes_node] L’aspect virtuel du Kubernetes nœud. Les données relatives à l’aspect physique du nœud sont stockées sous Linux le Kubernetes serveur.
    nom Nom du Kubernetes nœud. Le format peut être uniquement le nom de la machine ou le nom complet composé du nom et du nom d’hôte : <nom>.<nom d’hôte> .
    k8s_uid Identificateur de l’UUID Kubernetes du nœud.
    grappe Nom de la grappe qui contient cette ressource.
    operational_status État opérationnel du Kubernetes nœud.
    Kubernetes Service [cmdb_ci_kubernetes_service]
    nom Le nom du Kubernetes service.
    sélecteur Liste séparée par des virgules des sélecteurs d’étiquettes spécifiés dans la Kubernetes configuration qui sont utilisés pour sélectionner des pods cibles.
    espace de noms Espace Kubernetes de noms auquel ce Kubernetes service appartient.
    k8s_uid UUID Kubernetes de service.
    grappe Nom de la grappe qui contient cette ressource.
    Kubernetes Pod [cmdb_ci_kubernetes_pod]
    nom Nom du Kubernetes pod.
    k8s_uid UUID Kubernetes du pod.
    resourceVersion La version de la ressource du Kubernetes pod.
    espace de noms Espace Kubernetes de noms auquel ce Kubernetes pod appartient.
    grappe Nom de la grappe qui contient cette ressource.
    État

    État Kubernetes du pod : En attente, En cours d’exécution, Réussite, Échec et Inconnu.

    Kubernetes Cronjob [cmdb_ci_kubernetes_cronjob]
    nom Nom du Kubernetes cronjob
    espace de noms Espace Kubernetes de noms auquel ce Kubernetes pod appartient.
    k8s_uid L’UUID Kubernetes cronjob.
    grappe Nom de la grappe qui contient cette ressource.
    Kubernetes Tâche [cmdb_ci_kubernetes_job]
    nom Nom de la Kubernetes tâche
    espace de noms Espace Kubernetes de noms auquel cette Kubernetes tâche appartient.
    k8s_uid UUID de la Kubernetes tâche
    grappe Le nom de la grappe qui contient Kubernetes la tâche.
    Kubernetes Daemonset [cmdb_ci_kubernetes_daemonset]
    nom Nom du Kubernetes démonset.
    espace de noms Espace Kubernetes de noms auquel ce Kubernetes daemonset appartient.
    k8s_uid UUID Kubernetes du daemonset.
    grappe Nom de la grappe qui contient cette ressource.
    pods_avail Nombre de pods disponibles.
    pods_failed Nombre de pods en phase Échoué.
    pods_running Nombre de pods dans la phase en cours d’exécution.
    pods_succeeded Nombre de pods dans la phase Réussi.
    pods_waiting Nombre de pods dans la phase d’attente.
    Kubernetes Entrée [cmdb_ci_kubernetes_ingress]
    nom Nom de l’entrée Kubernetes
    espace de noms Espace Kubernetes de noms auquel cette Kubernetes entrée appartient.
    k8s_uid UID Kubernetes d’entrée
    grappe Nom de la grappe qui contient cette ressource.

    Kubernetes Déploiement [cmdb_ci_kubernetes_deployment]

    Kubernetes Ensemble de répliques [cmdb_ci_kubernetes_replicaset]

    Kubernetes Contrôleur de réplication [cmdb_ci_kubernetes_replicationcontroller]

    Kubernetes Statefulset [cmdb_ci_kubernetes_statefulset]

    nom Nom de cette ressource
    espace de noms Espace Kubernetes de noms auquel cette ressource appartient.
    K8s_uid UID Kubernetes de cette ressource
    grappe Nom de la grappe qui contient cette ressource.
    total_replicas Nombre de réplications dans cette ressource
    desired_replicas Nombre de répliques dans la phase souhaitée
    available_replicas Nombre de répliques disponibles
    unavailable_replicas Nombre de répliques en phase indisponible
    updated_replicas Nombre de répliques mises à jour
    Conteneur Docker [cmdb_ci_docker_container] Composant qui exécute l’image de Docker.
    container_id L’identificateur unique du Kubernetes conteneur Docker

    Lorsque des enregistrements en double sont créés, les tâches de déduplication s’affichent une fois la découverte exécutée. Pour plus d’informations sur la résolution de ces tâches, consultez l’article Rendre l’identificateur de conteneur Docker indépendant [KB1443042] dans la section ServiceNow® Base de connaissances.

    espace de noms Espace Kubernetes de noms auquel ce Kubernetes conteneur Docker appartient
    Image de Docker [cmdb_ci_docker_image] Package exécutable d’une application et de ses logiciels connexes qui peuvent être instanciés par un conteneur Docker
    image_id L’identificateur de l’image de Docker Kubernetes
    nom Nom de l’image de Docker Kubernetes .
    image_url L’URL de téléchargement de l’image Docker.
    espace de noms Espace Kubernetes de noms auquel appartient cette Kubernetes image de Docker.
    Serveur Linux [cmdb_ci_linux_server] Serveur qui héberge le Kubernetes nœud.
    nom Nom du Linux serveur qui alimente le Kubernetes nœud.
    hostname Le nom d’hôte du Linux serveur.
    système d'exploitation Système d’exploitation déployé sur ce Linux serveur.
    kernel_release Version du système d’exploitation du Linux noyau déployée sur ce Linux serveur.
    ram La taille de la RAM installée sur ce Linux serveur.
    ip_address L’adresse IP du Linux serveur.
    cpu_type L’architecture du processeur du Linux serveur hébergeant le Kubernetes nœud.
    cpu_count Nombre de processeurs sur le Linux serveur hébergeant le Kubernetes nœud.
    serial_number Numéro de série du Linux serveur hébergeant le Kubernetes nœud.
    Valeur clé [cmdb_key_value] Cet élément de configuration contient Kubernetes des étiquettes. Les étiquettes sont des paires clé/valeur qui sont attachées à des objets, tels que des pods.
    key Clé du pod ou Kubernetes du Kubernetes paramètre de serviceKey Value.
    valide La valeur du paramètre de pod ou Kubernetes de service.KubernetesKey Value
    Kubernetes Volume [cmdb_ci_kubernetes_volume]
    k8s_uid UUID Kubernetes du volume.
    mount_path Chemin d’accès à ce Kubernetes volume.
    nom Nom du Kubernetes volume.
    espace de noms Espace Kubernetes de noms auquel ce Kubernetes volume appartient.
    grappe Nom de la grappe qui contient cette ressource.
    volume_id ID du Kubernetes volume.
    OpenShift Configuration déployée [cmdb_ci_openshift_dep_conf]
    nom Nom de la configuration de déploiement OpenShift .
    espace de noms Nom de l’espace de noms contenant la configuration de déploiement.
    k8s_uid UUID Kubernetes du volume.
    URL URL de la configuration déployée, disponible uniquement pour Kubernetes les OpenShift versions antérieures à la version 1.16.
    OpenShift Configuration de la version [cmdb_ci_openshift_build_conf]
    nom Nom de la configuration de la OpenShift version.
    espace de noms Nom de l’espace OpenShift de noms contenant la configuration de la build.
    k8s UUID Kubernetes du volume.
    URL URL de la configuration de build, disponible uniquement pour Kubernetes les OpenShift versions antérieures à 1.16.
    OpenShift Image Source2 [cmdb_ci_openshift_source_2_image]
    nom Nom de l’image OpenShift source.
    à Image associée.
    parent_id ID de l’image OpenShift source.
    OpenShift Acheminement [cmdb_ci_openshift_route]
    nom Nom de l’itinéraire OpenShift .
    espace de noms Nom de l’espace de noms contenant l’itinéraire OpenShift .
    k8s_uid UUID Kubernetes du volume.
    URL URL de l’itinéraire, disponible uniquement pour Kubernetes les OpenShift versions antérieures à la version 1.16.
    hôte L’hôte cible de l’itinéraire OpenShift .
    port Port cible de l’itinéraire OpenShift .
    OpenShift Groupe [cmdb_ci_openshift_group]
    nom Le nom du OpenShift groupe.
    k8s_uid UUID Kubernetes du volume.
    URL URL du groupe, disponible uniquement pour Kubernetes les OpenShift versions antérieures à la version 1.16.
    OpenShift Utilisateur [cmdb_ci_openshift_user]
    nom Le nom de l’utilisateur OpenShift .
    k8s_uid UUID Kubernetes du volume.
    URL URL de l’utilisateur, disponible uniquement pour Kubernetes les OpenShift versions antérieures à la version 1.16.
    full_name Le nom complet de l’utilisateur OpenShift .
    OpenShift Projet [cmdb_ci_openshift_project]
    nom Le nom du OpenShift projet.
    k8s_uid UUID Kubernetes du volume.
    URL URL du projet, disponible uniquement pour Kubernetes les OpenShift versions antérieures à la version 1.16.
    OpenShift Image [cmdb_ci_openshift_images]
    nom Nom de l’image OpenShift .
    k8s_uid UUID Kubernetes du volume.
    URL URL de l’image, disponible uniquement pour Kubernetes les OpenShift versions antérieures à la version 1.16.
    docker_image_metadata_id L’ID de l’image de Docker.
    docker_image_metadata_parent_id ID de l’ID parent de l’image.
    arc Architecture de l’image.
    taille Taille de l’image.
    hostname Le nom d’hôte associé à l’image.
    OpenShift Flux d’images [cmdb_ci_openshift_images_stream]
    nom Nom du flux d’images OpenShift .
    k8s_uid UUID Kubernetes du volume.
    URL URL du flux d’images, disponible uniquement pour Kubernetes les OpenShift versions antérieures à la version 1.16.
    espace de noms Nom de l’espace de noms contenant le OpenShift flux d’images.
    OpenShift Référentiel d’images Docker [cmdb_ci_openshift_docker_images_repository]
    nom Le nom du référentiel d’images OpenShift Docker.
    parent_ID ID du système parent.
    Espace de noms [cmdb_ci_kubernetes_namespace]
    nom Le nom de l’espace Kubernetes de noms.
    État

    Phases de l’espace Kubernetes de noms : Active ou Terminaison.

    Ces données sont collectées par la Collect Container Repository section des extensions.
    Table et champ Description
    Référentiel du conteneur [cmdb_ci_container_repository]
    Nom [name] Le nom du référentiel de conteneur.
    Entrée du référentiel du conteneur [cmdb_ci_container_repository_entry]
    Nom [name] Le nom de l'entrée du référentiel du conteneur.
    Catégorie [category] Catégorie de l'entrée du référentiel du conteneur.
    Le graphique illustre les CI qui font partie de la Kubernetes découverte.
    Remarque :
    Cette Vue des dépendances carte a été simplifiée pour plus de clarté. Vos Kubernetes déploiements peuvent contenir beaucoup plus de CI.
    Figure 1. Composants du Kubernetes déploiement

    Relations entre les éléments de configuration Kubernetes et les tables de charges de travail Kubernetes
    Figure 2. Composants du Kubernetes déploiement, y compris OpenShift

    L’espace de noms contient les éléments de configuration OpenShift

    Relations CI collectées par le Kubernetes schéma

    Ces relations sont créées par Kubernetes schéma :
    CI Relation CI
    Kubernetes Grappe [cmdb_ci_kubernetes_cluster] Contient::Contenu par

    Kubernetes Service [cmdb_ci_kubernetes_service]

    Contient::Contenu par Kubernetes Pod [cmdb_ci_kubernetes_pod]
    Contient::Contenu par Kubernetes Entrée [cmdb_ci_kubernetes_ingress]
    Contient::Contenu par

    Kubernetes Espace de noms [cmdb_ci_kubernetes_namespace]

    Contient::Contenu par [cmdb_ci_openshift_source_2_image]
    Contient::Contenu par OpenShift Groupe [cmdb_ci_openshift_group]
    Contient::Contenu par OpenShift Utilisateur [cmdb_ci_openshift_user]
    Contient::Contenu par OpenShift Projet [cmdb_ci_openshift_project]
    Contient::Contenu par OpenShift Image [cmdb_ci_openshift_images]
    Contient::Contenu par OpenShift Référentiel d’images Docker [cmdb_ci_openshift_docker_images_repository]
    Grappe de ::Grappe Kubernetes Nœud [cmdb_ci_kubernetes_node]
    Gère ::Géré par Serveur Linux [cmdb_ci_linux_server]
    Contenu par::Contient Groupe de ressources [cmdb_ci_resource_group]
    Kubernetes Pod [cmdb_ci_kubernetes_pod] Contient::Contenu par Conteneur Docker [cmdb_ci_docker_container]
    Contient::Contenu par Image de Docker [cmdb_ci_docker_image]
    Contient::Contenu par Kubernetes Volume [cmdb_ci_kubernetes_volume]

    Kubernetes Charge de travail [cmdb_ci_kubernetes_workload]

    Hébergé sur::Hôtes Kubernetes Grappe [cmdb_ci_kubernetes_cluster]
    Service Kubernetes [cmdb_ci_kubernetes_service] Fournit ::P fourni par

    Kubernetes Charge de travail [cmdb_ci_kubernetes_workload]

    Déploiement Kubernetes [cmdb_ci_kubernetes_deployment]

    Possède ::Appartient à

    Kubernetes Ensemble de répliques [cmdb_ci_kubernetes_replicaset]

    Kubernetes Ensemble de répliques [cmdb_ci_kubernetes_replicaset]

    iInstantiates :: Instancié par Kubernetes Pod [cmdb_ci_kubernetes_pod]
    Kubernetes Charge de travail [cmdb_ci_kubernetes_workload] Fourni par ::P renvoie à Kubernetes Service [cmdb_ci_kubernetes_service]
    Kubernetes Déploiement [cmdb_ci_kubernetes_deployment] Hébergé sur::Hôtes Kubernetes Grappe [cmdb_ci_kubernetes_cluster]
    Kubernetes Daemonset [cmdb_ci_kubernetes_daemonset] Hébergé sur::Hôtes Kubernetes Grappe [cmdb_ci_kubernetes_cluster]
    Kubernetes Statefulset [cmdb_ci_kubernetes_statefulset] Hébergé sur::Hôtes Kubernetes Grappe [cmdb_ci_kubernetes_cluster]
    Kubernetes Espace de noms [cmdb_ci_kubernetes_namespace] Contient::Contenu par OpenShift Configuration déployée [cmdb_ci_openshift_dep_conf]
    Contient::Contenu par OpenShift Configuration de la version [cmdb_ci_openshift_build_conf]
    Contient::Contenu par OpenShift Acheminement [cmdb_ci_openshift_route]
    Contient::Contenu par OpenShift Flux d’images [cmdb_ci_openshift_images_stream]
    Image de Docker [cmdb_ci_docker_image] Instanciations ::Instancié par Conteneur Docker [cmdb_ci_docker_container]
    Serveur Linux [cmdb_ci_linux_server] Contient::Contenu par Kubernetes Pod [cmdb_ci_kubernetes_pod]
    Exécution ::Exécute sur Conteneur Docker [cmdb_ci_docker_container]
    Hosts ::Hébergé sur Kubernetes Nœud [cmdb_ci_kubernetes_node]
    OpenShift Configuration de déploiement [cmdb_ci_openshift_dep_conf] Contient::Contenu par [cmdb_ci_config_file_tracked]
    La Collect Container Repository section d’extension du Kubernetes schéma identifie ces relations.
    CI Relation CI
    Image de Docker [cmdb_ci_docker_image] Mis en service à partir de::Mis en service Entrée du référentiel du conteneur [cmdb_ci_container_repository_entry]
    Entrée du référentiel du conteneur [cmdb_ci_container_repository_entry] Hébergé sur::Hôtes Référentiel du conteneur [cmdb_ci_container_repository]

    Relations CI collectées par l’extension Istio Service Mesh

    Prérequis pour l’extension Istio Service Mesh :

    • Assurez-vous que les composants Istio Service Mesh et Prometheus sont configurés sur la Kubernetes grappe.
    • Assurez-vous que Prometheus détecte les informations de connexion de service à l’aide de la commande queryistio_requests_total .
    • Assurez-vous que les services d’application sont connectés et vérifiez le flux de trafic de service à service dans Kiali graph.

    Pour plus d’informations sur l’application Bookinfo, voir : https://istio.io/latest/docs/examples/bookinfo/

    CI Relation CI
    Kubernetes Service [cmdb_ci_kubernetes_service] Se connecte à ::Connecté par Kubernetes Service [cmdb_ci_kubernetes_service]

    Relations CI collectées par le modèle d’événement Kubernetes

    Ces relations sont créées pour prendre en charge la découverte d’événements Kubernetes :
    CI Relation CI
    Kubernetes Grappe [cmdb_ci_kubernetes_cluster] Contient::Contenu par

    Kubernetes Service [cmdb_ci_kubernetes_servi ce]

    Contient::Contenu par Kubernetes Pod [cmdb_ci_kubernetes_pod]
    Grappe de ::Grappe Kubernetes Nœud [cmdb_ci_kubernetes_node]
    Gère ::Géré par [cmdb_ci_linux_server]
    Kubernetes Pod [cmdb_ci_kubernetes_pod] Contient::Contenu par Conteneur Docker [cmdb_ci_docker_container]
    Contient::Contenu par Image de Docker [cmdb_ci_docker_image]
    Contient::Contenu par Kubernetes Volume [cmdb_ci_kubernetes_volume]
    Image de Docker [cmdb_ci_docker_image] Instanciations ::Instancié par Conteneur Docker [cmdb_ci_docker_container]
    Serveur Linux [cmdb_ci_linux_server] Contient::Contenu par Kubernetes Pod [cmdb_ci_kubernetes_pod]
    Exécution ::Exécute sur Conteneur Docker [cmdb_ci_docker_container]
    Hosts ::Hébergé sur Kubernetes Nœud [cmdb_ci_kubernetes_node]

    Données collectées par Mappage des services lors de la détection basée sur les balises

    Mappage des services utilise la détection basée sur les balises pour créer des cartes de service d’application incluant les composants. Mappage des services est livré avec les relations CI préconfigurées suivantes utilisées pour la détection basée sur les Kubernetes balises. Ces relations CI sont disponibles à partir de la version 1.0.68 sur ServiceNow Store.
    CI Relation CI
    Service Kubernetes [cmdb_ci_kubernetes_service] Contenu par::Contient Grappe Kubernetes [cmdb_ci_kubernetes_cluster]
    Projet OpenShift [cmdb_ci_openshift_project] Contenu par::Contient Grappe Kubernetes [cmdb_ci_kubernetes_cluster]
    Pod Kubernetes [cmdb_ci_kubernetes_pod] Contenu par::Contient Grappe Kubernetes [cmdb_ci_kubernetes_cluster]
    Pod Kubernetes [cmdb_ci_kubernetes_pod] Grappe::Grappe de Service Kubernetes [cmdb_ci_kubernetes_service]
    Espace de noms Kubernetes [cmdb_ci_kubernetes_namespace]​ Contient::Contenu par Configuration déployée OpenShift [cmdb_ci_openshift_dep_conf​]
    Espace de noms Kubernetes [cmdb_ci_kubernetes_namespace]​ Contient::Contenu par Configuration de la version OpenShift [cmdb_ci_openshift_build_conf]
    Espace de noms Kubernetes [cmdb_ci_kubernetes_namespace]​ Contient::Contenu par Route OpenShift [cmdb_ci_openshift_route]
    Espace de noms Kubernetes [cmdb_ci_kubernetes_namespace]​ Contient::Contenu par Flux d'images OpenShift [cmdb_ci_openshift_images_stream]

    Tableau de bord de Kubernetes

    Une fois Découverte la détection des composants du Kubernetes déploiement terminée, vous pouvez accéder à Espaces de travail > Espace de travail de l'administrateur de Découverte > Aperçus et utilisez le Explorateur Kubernetes tableau de bord pour afficher les environnements et les Kubernetes ressources de votre organisation. Pour utiliser le tableau de bord amélioréKubernetes, vérifiez que vous disposez Espace de travail de l'administrateur de Découverte de la version 1.3.1 (Store août 2024). Pour plus d'informations sur Explorateur Kubernetes, consultez Explorateur Kubernetes.

    Dépannage

    Si le processus de mappage ne se déroule pas comme prévu, suivez les suggestions ci-après.
    Symptôme Cause Solution
    Échec de la détection. Le message de détection fait état d'une erreur liée au délai d'expiration de REST. De nombreux CI envoient la réponse d'appel REST dans le déploiement. Le Serveur MID ne peut pas traiter la réponse d'appel REST sans dépasser la limite de temps contrôlée par le paramètre mid.sa.cloud.request_timeout. Par défaut, le paramètre mid.sa.cloud.request_timeout est défini sur 30 000 millisecondes.
    Augmentez la valeur de ce paramètre sur le Serveur MID pertinent et relancez la détection.
    Remarque :
    Si la liste connexe Paramètres de configuration pour le Serveur MID pertinent n'affiche pas ce paramètre, vous devrez peut-être l'ajouter.
    Concepteur de modèle échoue lors d'une session de débogage. Le message de Concepteur de modèle fait état d'une erreur liée au délai d'expiration. Concepteur de modèle échoue en raison d'un délai d'expiration pendant le débogage du modèle (et non pendant la détection). Par défaut, le paramètre sa.debugger.max_timeout est défini sur 240 secondes.

    Augmentez la valeur de ce paramètre sur le Serveur MID pertinent.

    Pour exécuter le Kubernetes modèle en mode de débogage, reportez-vous à KB0832567 pour des informations opérationnelles.