Docker-Virtualisierung
Discovery verwendet das Docker Pattern, um Daten über bestimmte Objekte in einer Docker-Engine zu erfassen, die auf einem Linux-Host ausgeführt wird.
Die ServiceNow® Platform unterstützt die Erkennung von Docker Release 1.11.0 oder höher.
Voraussetzungen
- Benutzerrechte
- Der Benutzer, dessen Anmeldeinformationen zum Ausführen der Docker Discovery verwendet werden, muss über Berechtigungen verfügen, die mit einer der folgenden Methoden definiert wurden:
- Erteilen Sie einem Benutzer erweiterte Rechte für die Ausführung von Befehlen, da der Docker-Daemon als Root-Benutzer ausgeführt wird. Das Docker-Muster unterstützt die Verwendung von Privilegierte Befehle , Z. B. sudoOder pbrun, Um als Stammanwender auszuführen.
- Zuweisung zu einer Gruppe mit dem Namen docker, die über besondere Berechtigungen zum Ausführen von Docker-Befehlen verfügt. Anweisungen zum Einrichten einer Gruppe finden Sie in der Dokumentation zu Docker.
- Neueste Muster
- Stellen Sie die aktuelle Anwendung „Discovery and Service Mapping Patterns“ aus dem ServiceNow Store bereit.
Einschränkungen und Überlegungen für Docker
- Der erste Prozess-Scan von Discovery kann eine Anwendung in einem Container identifizieren und korrekt klassifizieren. Nachfolgende Probes, die gestartet werden, um die Anwendung zu untersuchen, können jedoch nicht in den Container sehen und keine Details zur Anwendung zurückgeben.
- Discovery durchsucht alle gefundenen Container, einschließlich inaktiver Container. Dadurch kann Discovery verlangsamt werden. Daher sollten Sie nicht ausgeführte Container löschen.
- Vor der Einstellung sn_itom_pattern.manifest_digest_image_ID Eigenschaft bis Wahr Und Discovery wird ausgeführt: Duplikate verhindern Docker Datensätze, die durch Löschen aller erstellt werden Docker Bilddatensätze.
- Pro (physischem oder virtuellem) Computer ist nur eine Docker-Engine zulässig.
Von Discovery während der horizontalen Erkennung erfasste Daten
| Tabelle und Felder | Beschreibung |
|---|---|
| Docker-Engine [cmdb_ci_docker_engine] | |
| Name [name] | Speichert Informationen zu Instanzen der Docker-Engine. |
| BS-Arch [os_Arch] | |
| GIT-Commit [git_commit] | |
| Build-Datum [Build_date] | |
| Version [version] | |
| API-Version [api_Version] | |
| Go-Version [Go_Version] | |
| Ist geclustert [is_clustered] | |
| Prozess wird ausgeführt [running_Process] | |
| Prozessbefehl wird ausgeführt [running_Process_command] | |
| Schlüsselparameter für laufenden Prozess [running_Process_key_Parameters] | |
| Docker-Image [cmdb_ci_docker_image] | |
| Name [name] | Speichert Informationen zur global eindeutigen Darstellung von Docker-Images. |
| Image-ID [image_id] | |
| Image-Auszug [image_digest] | |
| Größe (Byte) [size_byte] | |
| Bild erstellt [Image_created_at] | |
| Lokales Docker-Image [cmdb_ci_docker_image] | |
| Name [name] | Speichert lokale Instanzen von Docker-Images |
| Image-ID [image_id] | |
| Docker-Image-Tag [cmdb_ci_docker_image_tag] | |
| Name [name] | Speichert Tags aus lokalen Docker-Images |
| Image-ID [image_id] | |
| Repository [repository] | |
| Tag [tag] | |
| Docker-Container [cmdb_ci_docker_container] | |
| Name [name] | Speichert Docker-Container, die auf dem Host gefunden wurden In Fällen, in denen doppelte Datensätze erstellt werden, werden Deduplizierungsaufgaben angezeigt, sobald die Discovery ausgeführt wird. Informationen zur Lösung dieser Aufgaben finden Sie unter Docker-Container-Bezeichner unabhängig machen [KB1443042] artikel in ServiceNow® Knowledge Base. |
| Image-ID [image_id] | |
| Container-ID [container_id] | |
| Größe (Byte) [size_bytes] | |
| Befehl [command] | |
| Container erstellt [container_created_at] | |
| Status [status] | |
| Tabelle und Feld | Beschreibung |
|---|---|
| Container-Repository [cmdb_ci_container_repository] | |
| Name [name] | Der Name des Container-Repositorys. |
| Container-Repository-Eintrag [cmdb_ci_container_repository_entry] | |
| Name [name] | Der Name des Container-Repository-Eintrags. |
| Kategorie [category] | Die Kategorie des Container-Repository-Eintrags. |
CI-Beziehungen
| CI | Beziehung | CI |
|---|---|---|
| cmdb_ci_server | Runs::Runs On | cmdb_ci_docker_engine |
| cmdb_ci_docker_engine | Manages::Managed By | cmdb_ci_docker_container |
| cmdb_ci_docker_engine | Verwaltet::Verwaltet Bis | cmdb_ci_docker_local_image |
|
cmdb_ci_docker_image |
Instanziiert::Instanziiert Bis |
cmdb_ci_docker_container |
|
cmdb_ci_docker_local_image Hinweis:
Die Richtung dieser Beziehung ist für alle Store-Versionen vor 1,0.99, Februar 2023 umgekehrt. |
Instanziiert::Instanziiert Bis |
cmdb_ci_docker_container |
| cmdb_ci_docker_image_tag | Registriert Am::Hat Registriert | cmdb_ci_docker_local_image |
| cmdb_ci_docker_local_image | Instantiates::Instantiated By | cmdb_ci_docker_image |
| CI | Beziehung | CI |
|---|---|---|
| Docker-Image [cmdb_ci_docker_image] | Bereitgestellt von::Bereitgestellt | Container-Repository-Eintrag [cmdb_ci_container_repository_entry] |
| Container-Repository-Eintrag [cmdb_ci_container_repository_entry] | Gehostet auf::Hostet | Container-Repository [cmdb_ci_container_repository] |
Identifizierungs-, Containment- und Hosting-Regeln
Discovery verwendet für die Suche nach der Docker-Engine einen Bezeichner für Anwendungsregeln und wendet dann andere Regeln an, um bestimmte Docker-Objekte zu identifizieren.
- Bezeichner für Anwendungsregeln
Das System erstellt während der Prozessklassifizierung das Konfigurationselement (CI) cmdb_ci_docker_engine. Darauf aufbauend, verwendet Discovery den Bezeichner der Anwendungsregel in der Anwendungstabelle [cmdb_ci_appl], um die spezifische Docker-Engine zu identifizieren. Nach der Herstellung dieser Identität verwendet Discovery die Beziehungen, die in den Containment- und Hosting-Regeln definiert sind, um die einzelnen CIs der Docker-Komponente, die zu dieser Engine gehören, genau zu erstellen und zu aktualisieren.
- Kennungen
Name Tabelle Attribute Docker-Container Docker-Container [cmdb_ci_docker_container] container_id Globales Docker-Image Docker-Image [cmdb_ci_docker_image] image_id Lokales Docker-Bild Lokales Docker-Image [cmdb_ci_docker_image] image_id Docker-Bild-Tag Docker-Image-Tag [cmdb_ci_docker_image_tag] Repository, Tag - Containment- und Hosting-Regeln
- Docker-Discovery verwendet diese Erstellen oder bearbeiten Sie eine Sammlung von Containment-Regeln Und Erstellen oder bearbeiten Sie eine Sammlung von Hosting-Regeln Regeln zum Erstellen von Konfigurationselementen (CI) aus der Datenretur n ed nach dem Docker-Muster. Nachdem Discovery die Docker-Engine anhand ihrer Beziehung zur Anwendungstabelle [cmdb_ci_appl] identifiziert hat, werden diese Regeln angewendet, um die spezifischen CIs, die mit dieser Engine verbunden sind, anhand ihrer Beziehungen zueinander zu identifizieren. Indem die Komponenten auf diese Weise (von der Anwendung nach unten, ausgehend von der Engine) verbunden werden, verhindert Discovery, dass doppelte CIs für Komponenten aus anderen Docker-Engines erstellt werden, die denselben Namen oder dieselbe image_id aufweisen.
Tabelle : 1. Containment-Regel Übergeordnet Untergeordnetes Element Beziehung Lokales Docker-Bild Docker-Bild-Tag Hat sich registriert Tabelle : 2. Hosting-Regeln Übergeordnet Untergeordnetes Element Beziehung Docker-Container Docker-Engine Verwaltet von Lokales Docker-Bild Docker-Engine Verwaltet von