Détection de Kubernetes
La ServiceNow Visibilité ITOM recherche Kubernetes et les composants et crée des services d’application les contiennent. Détection trouve Kubernetes également des événements et met fréquemment à jour la CMDB pour refléter l’environnement dynamiqueKubernetes.OpenShift
- 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 Configuration de build est disponible à compter de la version d’octobre 2019, version 1.0.53 du Store. Il est pris en charge sur les Now Platform London correctifs 10, Madrid 5 et New York.
- L'extension Service Mesh détecte les détails du maillage de service. Ces informations permettent au modèle de créer des relations service-service, affichées sous la forme Connects to::Connected. La détection de maillage de service nécessite le déploiement d’Istio sur votre grappe K8s (Kubernetes). La section d’extension Service Mesh est disponible à partir des classes d’extension Kubernetes. Il est pris en charge lors de l’utilisation Now Platform de la Madrid version ou d’une version ultérieure.
- Collect Container Repository et la section d'extension recherchent des registres de conteneurs et des images dans ces registres.
En outre, Détection utilise le modèle Événement pour détecter les Kubernetes événements des Kubernetes composants pour les versions Kubernetes 1.21.
À compter de la version ServiceNow Store1.0.68, Mappage des services peut utiliser des relations CI pour ajouter les composants aux services d’application pendant la détection basée sur les Kubernetes balises.
- Google Cloud Platform (GCP) – Kubernetes Discovery et Schedule Creator. Version : 1.0.89- Avril 2022.
- Amazon Web Services (AWS) : Kubernetes détection et créateur de calendrier. Version : 1.0.90- Mai 2022.
- Services de cloud computing Microsoft Azure : Kubernetes détection et créateur de calendrier. Version de sortie : 1.0.91- July 2022.
Demander des applications dans l'App Store
Visitez le site Web ServiceNow Store pour découvrir toutes les applications disponibles et pour obtenir des informations sur la procédure à suivre pour soumettre des demandes à la boutique. Pour obtenir des informations sur les notes de publication cumulatives pour toutes les applications publiées, consultez les ServiceNow Storenotes de publication relatives à l'historique des versions.
Prérequis
- Déployez la dernière version de l'application Discovery and Service Mapping Patterns à partir de ServiceNow Store.
- Sur la plateforme, recherchez les paramètres de configuration Kubernetes de la Kubernetes détection :
- Rechercher l'URL du serveur kubeapi :
- Sur la Kubernetes plateforme, exécutez la commande suivante :
kubectl cluster-info - Dans la sortie, recherchez la ligne qui indique l'URL du serveur kubeapi. Par exemple, Kubernetes le plan de contrôle s’exécute à
https://10.154.144.146:443
- Sur la Kubernetes plateforme, exécutez la commande suivante :
- Recherchez les espaces de noms du serveur kubeapi :
- Sur la Kubernetes plateforme, exécutez cette commande :
kubectl get namespaces - Dans la sortie, recherchez la ligne qui indique les espaces de noms. Par exemple,
kube-system.
- Sur la Kubernetes plateforme, exécutez cette commande :
- Recherchez le nom d’utilisateur et le Kubernetes mot de passe :
- Sur la Kubernetes plateforme, exécutez cette commande :
kubectl config view - Dans la sortie, recherchez le nom d'utilisateur et le mot de passe.Remarque :Si, dans un certain environnement,
la commande kubectl config viewn’affiche pas les détails attendus, utilisez la commandeprise en chargepar l’administrateur Kubernetes pour récupérer les détails du nom d’utilisateur et du mot de passe.
- Sur la Kubernetes plateforme, exécutez cette commande :
- Trouvez le jeton de porteur valide avec les autorisations appropriées :
- Si vous n’avez pas le nom du jeton par défaut, utilisez la commande :
kubectl describe secret. - Lasortie affiche tous les comptes et tous les jetons. Recherchez le jeton valide :
Où
kubectlest le compte générique Kubernetes ,describeest la méthode générique kubectl.Le paramètre
secretindique que dans votre Kubernetes cluster, le jeton par défaut est protégé en le contenant à l’intérieur de l’objet de type secret .kubectl describe secretcommand output est au format codé BASE64. Si vous connaissez le nom du jeton par défaut, utilisez la commande suivante :
kubectl describe secret default-token-g6pwcdefault-token-g6pwcreflète la valeur de paramètre du jeton par défaut pour g6pwc.- La sortie affiche tous les jetons existants pour ce Kubernetes compte.
Choisissez un jeton à utiliser pour configurer Kubernetes les informations d’identification sur la ServiceNow plateforme.
- Si vous n’avez pas le nom du jeton par défaut, utilisez la commande :
- Rechercher l'URL du serveur kubeapi :
- Assurez-vous que le serveur API est accessible à partir du MID Server pour une détection réussie Kubernetes .
- Assurez-vous que l’utilisateur configuré sur la Kubernetes plateforme a les autorisations nécessaires 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
- Pour détecter les OpenShift composants du Kubernetes déploiement, assurez-vous que l’utilisateur configuré sur la Kubernetes plateforme a les autorisations nécessaires 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étecter les informations de maillage de service :- Déployez Istio sur votre grappe K8s.
- Spécifiez l’URL Prometheus.
- Configurez Prometheus pour extraire les mesures à partir d'Istio.
- Activez l’extension Obtenir les fichiers de configuration Kubernetes pour :
- 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 JSON à partir de la version 1.0.92 et des versions ultérieures. Le contenu des fichiers suivis est au format YAML dans la version 1.0.91 et les versions antérieures. - Créez les informations d’identification Kubernetes sur la ServiceNow plateforme :
- Sur la ServiceNow plateforme, accédez à .
- Sélectionnez Nouveau.
- Sélectionnez les informations d’identification Kubernetes.
- Configurez les champs de formulaire (voir table) :
Champ Description Nom Entrez un nom unique et descriptif pour ces informations d'identification. Noms d'utilisateur Entrez le nom d'utilisateur ou créez-le dans la table Informations d'identification. Évitez les espaces blancs dans les noms d'utilisateur. Un avertissement apparaît si la plateforme détecte des espaces blancs dans le nom d'utilisateur. Mot de passe Entrez le mot de passe de ces informations d'identification. Jeton de porteur Pour une authentification avancée à l’aide d’un jeton de porteur, saisissez le jeton de porteur utilisé pour l’authentification lors de l’accès Détection à Kubernetes. Utilisez la séquence de caractères en tant que jeton, par exemple, 31ada4fd-adec-460c-809a-9e56ceb75269. Remarque :Le jeton de porteur doit être au format codé BASE64.Authentification de jeton de porteur Pour une authentification avancée à l’aide d’un jeton de porteur, cochez cette case. Alias d'identification Configurez l’alias pour utiliser les informations d’identification pour les Kubernetes appareils et les applications autres que Kubernetes. Vous utilisez également cet alias pour définir un calendrier de détection sans serveur pour la détection du Kubernetes déploiement. - Sélectionnez l’icône de cadenas, puis l’icône de recherche.
- Sur le formulaire Alias de connexion et d’informations d’identification, sélectionnez Nouveau.
- Spécifiez un nom pour l'enregistrement d'alias d'informations d'identification.
- Définissez des attributs pour l'alias. Définissez Type sur Informations d'identification.
- Cliquez avec le bouton droit sur l’en-tête du formulaire, puis sélectionnez Enregistrer, puis Mettre à jour.
- Sur le formulaire Alias de connexion et d’informations d’identification, sélectionnez l’alias nouvellement ajouté.
L'alias apparaît dans le champ Alias d'informations d'identification.
- Sur le formulaire Informations d’identification Kubernetes , sélectionnez Mettre à jour.
- Créez un calendrier de détection sans serveur pour le Kubernetes modèle.Créez et définissez le modèle d'exécution sans serveur conformément à la description de la documentation du produit. Configurez les paramètres requis par le Kubernetes modèle comme suit :
Tableau 1. Configurer des attributs de modèle d'exécution Champ Description URL L’identificateur du nom d’hôte, de l’adresse IP ou du nom de domaine complet et du port du Kubernetes serveur api. 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 configuration de Discovery Kubernetes . Saisissez l'une des valeurs suivantes : - Espace de noms individuel : entrez l’espace de noms puis « kube-system ». Par exemple : dev,kube-system
- La 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 saisir tous les espaces de noms
Alias d’informations d’identification L’alias associé aux informations d’identification créées Kubernetes précédemment. nom du cluster Le nom du Kubernetes cluster, au format suivant : <serviceaccountid><space><clustername>. fournisseur Fournisseur dans le cloud : GCP, AWS ou Azure. - Créez un calendrier de détection sans serveur pour le Kubernetes modèle Événement. Configurez l'exécution du calendrier toutes les 5 ou 10 minutes. Remarque :lorsque le modèle est exécuté pour la première fois, il stocke un élément event_timestamp. Plus tard, il collecte uniquement les événements delta en fonction de l'horodatage. Plus la fréquence d'exécution du modèle est élevée, moins les mises à jour de CMDB IRE sont nécessaires.
Créez un modèle d’exécution sans serveur pour le calendrier de détection et affectez-le au Kubernetes modèle Événements. Configurez les paramètres requis par le Kubernetes modèle comme décrit à la section Configurer des attributs de modèle d'exécution.
- Pour inclure les composants détectés dans les services d'application, activez les relations CI utilisées dans la détection 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 la détection basée sur les balises.
Prérequis pour la détection d'infrastructure dans le cloud Kubernetes
Pour le modèle de détection Google Cloud Platform (GCP) – Kubernetes Discovery and Schedule Creator, procédez comme suit :
- Dans l'instance ServiceNow, configurez un compte de service Google Cloud Platform (GCP) avec des informations d'identification et des autorisations valides.
- Sur l’infrastructure, configurez le Serveur MID avec un accès complet à toutes les API dans le cloud : définissez les périmètres d’accès des API dans le cloud sur « Autoriser l’accès complet à toutes les API dans le GCP cloud ». L’instance du MID Server ne peut accéder qu’aux clusters spécifiques au projet.
- Accédez à
sys_properties.listet configurez les propriétés suivantes :- sn_itom_pattern.k8s_midserver : spécifiez un nom de MID Server valide.
- sn_itom_pattern.k8s_create_schedule_enabled : définissez la valeur sur vrai.
- Pour créer des calendriers sans serveur à l’aide d’API, importez l’ensemble de mises à jour joint au KB1168613 (pour les versions antérieures à Tokyo uniquement).
- Créer et exécuter Google Cloud Détection Remarque :
Pour récupérer le jeton de porteur, tout en exécutant le calendrier GKE Kubernetes , utilisez la commande gcloud :
gcloud config config-helper --format="value(credential.access_token) »La configuration de gcloud dans l’instance du MID Server accorde l’accès à la grappe GKE pour récupérer le jeton.
Pour la détection de Amazon Elastic Kubernetes Service (EKS) grappes, procédez comme suit :
- Dans l'instance ServiceNow, définissez un compte de service AWS avec des informations d'identification et des autorisations de compte de gestion valides.
- Assurez-vous que le cluster dispose d’un Amazon Elastic Kubernetes Service (EKS) rôle de cluster avec un accès en lecture seule à toutes les ressources.
- Créez une liaison de rôle de cluster entre le rôle de cluster et un utilisateur Kubernetes. Par exemple, utilisateur en lecture seule.
- Créez un rôle AWS IAM avec la politique EKSReadOnly.
- Associez le rôle IAM à l'utilisateur Kubernetes de l'une des façons suivantes :
- Dans le cluster, modifiez aws-auth ConfigMap.
- Exécutez la commande suivante :
eksctl create iamidentitymapping --cluster yourClusterName --arnarn:aws:iam::yourAccountID:role/yourIAMRoleName --username read-only-user
Exécutez Amazon Elastic Kubernetes Service (EKS) la détection de grappe de l’une des deux façons suivantes : à l’aide de l’interface AWS de ligne de commande (CLI) ou sans utiliser l’interface de ligne de AWS commande. Tout d’abord, définissez la propriété système sn_itom_pattern.k8s_aws_cli_to_generate_token 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 true pour utiliser AWS l’interface de ligne de commande afin de générer un jeton.
Définissez cette propriété système sur faux pour utiliser l’option Endosser les rôles afin de générer un jeton.
Exécutez Amazon Elastic Kubernetes Service (EKS) la détection de grappe à l’aide de l’interface de ligne AWS de commande :
Configurez le Serveur MID avec l’interface de ligne AWS de commande configurée. La configuration AWS des informations d’identification de l’interface de ligne de commande 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 .Pour générer le jeton de porteur, utilisez la Amazon Elastic Kubernetes Service (EKS) commande CLI AWS :
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.
Exécutez la Amazon Elastic Kubernetes Service (EKS) détection de grappe sans utiliser l’interface de AWS ligne de commande :
Remarque :Cette fonctionnalité est prise en charge à partir de la Patrons de détection et de mappage des services version 1.0.96 - December 2022.
Consultez la base de connaissances suivante pour obtenir des instructions détaillées : KB1182188 : détection de grappes EKS à l’aide de STS AssumeRoles (sans AWS CLI)
- Accédez à
sys_properties.listet 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éfinissez la valeur sur vrai.
- Pour créer des calendriers sans serveur à l’aide d’API, importez l’ensemble de mises à jour joint dans le KB1168613 (pour les versions antérieures à Tokyo uniquement).
Créez et exécutez un calendrier de détection dans le cloud AWS.
- Dans l’instance ServiceNow , configurez le compte de services Azure avec des informations d’identification et une autorisation valides.
- Configurez le MID Server avec l’interface de ligne de commande (CLI) AZ configurée. La configuration des informations d’identification Azure CLI accorde l’accès au cluster AKS.Remarque :
- l'utilisateur connecté au système doit être le même que l'utilisateur du MID Server.
- Pour plus d’informations sur la configuration d’AKS Cluster Discovery, consultez l’article Détails de la configuration d’AKS Cluster Discovery [KB1220553] dans la Now Support base de connaissances.
- Accédez à
sys_properties.listet configurez les propriétés suivantes :- sn_itom_pattern.k8s_midserver : spécifiez un nom de MID Server valide.
- sn_itom_pattern.k8s_create_schedule_enabled : définir la valeur sur : vrai.
- Pour créer des calendriers sans serveur à l’aide d’API, importez l’ensemble de mises à jour joint au KB1168613 (pour les versions antérieures à Tokyo uniquement).
- Créez et exécutez le Azure calendrier de détection dans le cloud.Remarque :Pour récupérer le jeton Berear tout en exécutant le calendrier AKS Kubernetes , utilisez la commande Az CLI :
az aks get-credentials --name <cluster_name> --overwrite-existing --resource-group <resourceGroup_name> --file -L’interface de ligne de commande AZ configurée dans l’instance MID Server doit avoir accès à la grappe AKS pour générer un jeton.
| 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étection : empêchez la création d’enregistrements en double en supprimant tous les Docker enregistrements d’image. |
||
sn_itom_pattern.k8s_create_schedule_enabled |
Marqueur de fonctionnalité pouvant être activé/désactivé sous les propriétés système, qui est chargé de contrôler l’exécution du modèle. |
Booléen | faux | |
| MID Server | sn_itom_pattern.k8s_midserver |
[Par défaut] Exemple : nom de serveur MID valide |
Chaîne | |
sn_itom_pattern.k8s_<service_account_id>_midserver |
[Basé sur le niveau du compte de service] Exemple : nom de serveur MID valide |
Chaîne | ||
sn_itom_pattern.k8s_<service_account_id>_<clustername>_midserver |
[Basé sur le nom de la grappe] Exemple : nom de serveur MID valide |
Chaîne | ||
sn_itom_pattern.kubernetes_collect_volume |
Lorsque la propriété est définie sur True, les données du volume Kubernetes [cmdb_ci_kubernetes_volume] sont renseignées. |
Chaîne | 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>_<clustername>_alias |
[Basé sur le nom de la grappe] Exemple : nom d’alias d’informations d’identification valide. |
Chaîne | ||
| URL de Prométhée | sn_itom_pattern.k8s_ url prométhée |
[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 |
[Basé sur le nom de la grappe] Exemple : URL Prometheus valide |
Chaîne | ||
sn_itom_pattern.k8s_ run |
[Exécution du calendrier Discovery pris en charge : quotidien, sur demande, en semaine, week-end, dernier jour du mois, fin de trimestre calendaire] Exemple : quotidien |
Chaîne | ||
sn_itom_pattern.k8s_batch_count |
[Fait référence au nombre de planifications à exécuter en lot ; 5 par défaut] Exemple : 5 (nombre de planifications à exécuter par lots) |
Entier | 5 | |
sn_itom_pattern.k8s_schedule_batch_delay |
[Conserve la trace du décalage temporel entre deux lots contenus dans la valeur en secondes] Exemple : 300 (en secondes) |
Entier | ||
sn_itom_pattern.k8s_run_time |
[Conserve la trace de l’heure actuelle d’un lot] Si cette propriété est définie, vous pouvez utiliser la même chose ou vous pouvez utiliser notre synchronisation dynamique, qui sera de 5 minutes après la synchronisation actuelle du système. Valeurs au format HH :MM :SS Exemple : 10 :11 :12 (HH :MM :SS) |
Chaîne |
<service_account_id> est le nom de l’ID de compte sous Comptes de services dans le cloud. Pour en savoir plus, consultez : Créer des calendriers pour la détection des ressources dans le cloud dans Détection dans le cloudKubernetes Détection sans informations d’identification ou au milieu de la grappe
Prérequis pour Kubernetes la détection sans informations d’identification :
Déployez le MID Server conteneurisé sur la Kubernetes grappe. Il n’est pas nécessaire de configurer Kubernetes les informations d’identification, car le MID Server de Kubernetes la grappe détecte automatiquement le serveur API et s’authentifie.
| 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 configuration de Discovery Kubernetes . Saisissez l'une des valeurs suivantes :
|
| cluster_name | Entrez un nom unique. |
Données collectées par Détection lors d'une détection horizontale
| Table et champ | Description |
|---|---|
| Kubernetes Grappe [cmdb_ci_kubernetes_cluster] | |
| Nom | Le nom du leader kube-controller-manager. |
| K8s_uid | L’UID de l’espace de noms kube-system [versions prises en charge : 1.0.92 et ultérieures] |
| ip_address | L’identificateur de l’host_ip du Kubernetes serveur api. |
| port | L’identificateur du Kubernetes port apiserver. |
| espace de noms | Cette valeur affiche les espaces de noms transmis par le système dans la configuration de Discovery Kubernetes . |
| event_timestamp | Horodatage du dernier événement créé sur cette Kubernetes grappe au moment de la détection. |
| 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 serveurKubernetes. |
| nom | Le nom du Kubernetes nœud. Le format ne peut être que le nom de l'ordinateur ou le nom complet composé du nom et du nom d'hôte : <name>.<hostname> . |
| k8s_uid | L’identificateur de l’UUID Kubernetes du nœud. |
| grappe | Le nom de la grappe qui contient cette ressource. |
| operational_status | L’é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’étiquette spécifiés dans la Kubernetes configuration qui sont utilisés pour sélectionner des pods cibles. |
| espace de noms | L’espace Kubernetes de noms auquel ce Kubernetes service appartient. |
| k8s_uid | L’UUID Kubernetes du service. |
| grappe | Le nom de la grappe qui contient cette ressource. |
| Kubernetes Pod [cmdb_ci_kubernetes_pod] | |
| nom | Le nom du Kubernetes pod. |
| k8s_uid | L’UUID Kubernetes du pod. |
| resourceVersion | La version de ressource Kubernetes du pod. |
| espace de noms | L’espace Kubernetes de noms auquel ce Kubernetes pod appartient. |
| grappe | Le nom de la grappe qui contient cette ressource. |
| État | État du Kubernetes pod : En attente, En cours d’exécution, Réussi, Échec et Inconnu. |
| Kubernetes Cronjob [cmdb_ci_kubernetes_cronjob] | |
| nom | Le nom du Kubernetes cronjob |
| espace de noms | L’espace Kubernetes de noms auquel ce Kubernetes pod appartient. |
| k8s_uid | L’UUID Kubernetes de cronjob. |
| grappe | Le 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 | L’espace Kubernetes de noms auquel la Kubernetes tâche appartient. |
| k8s_uid | L’UUID Kubernetes de la tâche |
| grappe | Le nom de la grappe qui contient Kubernetes la tâche. |
| Kubernetes Daemonset [cmdb_ci_kubernetes_daemonset] | |
| nom | Le nom du Kubernetes démonset. |
| espace de noms | Espace Kubernetes de noms auquel ce Kubernetes démon appartient. |
| k8s_uid | L’UUID Kubernetes du Daemonset. |
| grappe | Le nom de la grappe qui contient cette ressource. |
| pods_avail | Nombre de pods disponibles. |
| pods_failed | Nombre de pods en phase d’échec. |
| 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 En 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 | Le 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 | Le nom de la grappe qui contient cette ressource. |
| total_replicas | Nombre de répliques 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] | Le composant qui exécute l'image Docker. |
| container_id | L’identificateur unique du Kubernetes conteneur Docker Dans les cas où des enregistrements en double sont créés, les tâches de déduplication apparaissent une fois la détection exécutée. Pour plus d’informations sur la façon de résoudre ces tâches, consultez l’article Rendre l’identificateur de conteneur Docker indépendant [KB1443042] dans le ServiceNow® Base de connaissances. |
| espace de noms | L’espace Kubernetes de noms auquel ce Kubernetes conteneur Docker appartient |
| Image de Docker [cmdb_ci_docker_image] | Un package exécutable d’une application et de son logiciel connexe qui peut être instancié par un conteneur Docker |
| image_id | L’identificateur de l’image Kubernetes de Docker |
| nom | Le nom de l’image Kubernetes Docker. |
| image_url | L'URL pour le téléchargement de l'image Docker. |
| espace de noms | L’espace Kubernetes de noms auquel cette Kubernetes image Docker appartient. |
| Serveur Linux [cmdb_ci_linux_server] | Serveur qui héberge le Kubernetes nœud. |
| nom | Le nom du serveur Linux alimentant le Kubernetes nœud. |
| hostname | Le nom d'hôte du serveur Linux. |
| os | Le système d'exploitation déployé sur ce serveur Linux. |
| kernel_release | La version du système d'exploitation du noyau Linux déployée sur ce serveur Linux. |
| ram | La taille de la RAM installée sur ce serveur Linux. |
| ip_address | L'adresse IP du serveur Linux. |
| Valeur clé [cmdb_key_value] | Cet élément de configuration contient Kubernetes des étiquettes. Les étiquettes sont des paires clé/valeur qui sont associées à des objets, tels que des pods. |
| key | Clé du pod ou Kubernetes paramètre Kubernetes de serviceKey Value. |
| valide | La valeur du pod ou Kubernetes du Kubernetes paramètre de serviceKey Value. |
| Kubernetes Volume [cmdb_ci_kubernetes_volume] | |
| k8s_uid | L’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 | Le nom de la grappe qui contient cette ressource. |
| volume_id | L’ID du Kubernetes volume. |
| OpenShift Configuration déployée [cmdb_ci_openshift_dep_conf] | |
| nom | Le nom de la OpenShift configuration du déploiement. |
| espace de noms | Le nom de l'espace de noms contenant la configuration du déploiement. |
| k8s_uid | L’UUID Kubernetes du volume. |
| URL | URL de la OpenShift configuration déployée. |
| OpenShift Configuration de version [cmdb_ci_openshift_build_conf] | |
| nom | Le nom de la configuration de version OpenShift . |
| espace de noms | Le nom de l’espace OpenShift de noms contenant la configuration de la version. |
| k8s | L’UUID Kubernetes du volume. |
| URL | L’URL de la configuration de version OpenShift . |
| OpenShift Source2Image [cmdb_ci_openshift_source_2_image] | |
| nom | Le nom de l'image source OpenShift. |
| à | Image connexe. |
| parent_id | L’ID de l’image OpenShift source. |
| OpenShift Itinéraire [cmdb_ci_openshift_route] | |
| nom | Le nom de l’itinéraire OpenShift . |
| espace de noms | Le nom de l’espace de noms contenant l’itinéraire OpenShift . |
| k8s_uid | L’UUID Kubernetes du volume. |
| URL | L’URL de l’itinéraire OpenShift . |
| hôte | 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 | L’UUID Kubernetes du volume. |
| URL | L’URL du OpenShift groupe. |
| OpenShift Utilisateur [cmdb_ci_openshift_user] | |
| nom | Le nom de l’utilisateur OpenShift . |
| k8s_uid | L’UUID Kubernetes du volume. |
| URL | L’URL de l’utilisateur OpenShift . |
| full_name | Le nom complet de l’utilisateur OpenShift . |
| OpenShift Projet [cmdb_ci_openshift_project] | |
| nom | Le nom du OpenShift projet. |
| k8s_uid | L’UUID Kubernetes du volume. |
| URL | L’URL du OpenShift projet. |
| OpenShift Image [cmdb_ci_openshift_images] | |
| nom | Le nom de l’image OpenShift . |
| k8s_uid | L’UUID Kubernetes du volume. |
| URL | L’URL de l’image OpenShift . |
| docker_image_metadata_id | L'ID de l'image Docker. |
| docker_image_metadata_parent_id | L'ID parent de l'image. |
| arch | Architecture de l'image. |
| size | La taille de l'image. |
| hostname | Le nom d'hôte associé à l'image. |
| OpenShift Flux d’images [cmdb_ci_openshift_images_stream] | |
| nom | Le nom du flux d’images OpenShift . |
| k8s_uid | L’UUID Kubernetes du volume. |
| URL | L’URL du flux d’imagesOpenShift. |
| espace de noms | Le nom de l’espace de noms contenant le flux d’images OpenShift . |
| OpenShift Référentiel d’images Docker [cmdb_ci_openshift_docker_images_repository] | |
| nom | Le nom du OpenShift référentiel d’images Docker. |
| parent_id | L'ID du système parent. |
| Espace de noms [cmdb_ci_kubernetes_namespace] | |
| nom | Le nom de l’espace Kubernetes de noms. |
| État | Les Kubernetes phases de l’espace de noms : Actif ou Fin d’exécution. |
| 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. |
Relations CI collectées par le modèle Kubernetes
| 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] | |
| Cluster of::Cluster | Kubernetes Nœud [cmdb_ci_kubernetes_node] | |
| Manages::Managed by | Serveur Linux [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] | |
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 ::Propriété de | Kubernetes Ensemble de répliques [cmdb_ci_kubernetes_replicaset] |
Kubernetes Ensemble de répliques [cmdb_ci_kubernetes_replicaset] |
iInstanciates :: Instancié par | Kubernetes Pod [cmdb_ci_kubernetes_pod] |
| Kubernetes Charge de travail [cmdb_ci_kubernetes_workload] | Provided By::Provides To | 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 version [cmdb_ci_openshift_build_conf] | |
| Contient::Contenu par | OpenShift Itinéraire [cmdb_ci_openshift_route] | |
| Contient::Contenu par | OpenShift Flux d’images [cmdb_ci_openshift_images_stream] | |
| Image de Docker [cmdb_ci_docker_image] | Instantiates::Instantiated by | Conteneur Docker [cmdb_ci_docker_container] |
| Serveur Linux [cmdb_ci_linux_server] | Contient::Contenu par | Kubernetes Pod [cmdb_ci_kubernetes_pod] |
| Runs::Runs on | Conteneur Docker [cmdb_ci_docker_container] | |
| Hosts::Hosted on | Kubernetes Nœud [cmdb_ci_kubernetes_node] | |
| OpenShift Déployer la configuration [cmdb_ci_openshift_dep_conf] | Contient::Contenu par | [cmdb_ci_config_file_tracked] |
| 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 au 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 service-service dans le graphique Kiali.
Pour plus d’informations sur l’application Bookinfo, consultez : https://istio.io/latest/docs/examples/bookinfo/
| CI | Relation | CI |
|---|---|---|
| Kubernetes Service [cmdb_ci_kubernetes_servi ce] | Se connecte à ::Connecté par | Kubernetes Service [cmdb_ci_kubernetes_servi ce] |
Relations CI collectées par le Kubernetes modèle Événement
| 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] | |
| Cluster of::Cluster | Kubernetes Nœud [cmdb_ci_kubernetes_node] | |
| Manages::Managed by | [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] | Instantiates::Instantiated by | Conteneur Docker [cmdb_ci_docker_container] |
| Serveur Linux [cmdb_ci_linux_server] | Contient::Contenu par | Kubernetes Pod [cmdb_ci_kubernetes_pod] |
| Runs::Runs on | Conteneur Docker [cmdb_ci_docker_container] | |
| Hosts::Hosted on | 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
| 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] | Cluster::Cluster 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étection que Kubernetes la détection des composants du déploiement est terminée, vous pouvez accéder à et affichez les statistiques sur les composants détectés Kubernetes . Pour plus d’informations, consultez Tableau de bord Kubernetes.
Dépannage
| 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 modèle en mode Déboguer, consultez KB0832567Kubernetes pour obtenir des informations opérationnelles.