Alle Container

FlexNet Manager Suite 2022 R1 (Standortgebundene Implementierung)
Diese Seite kann eine Mischung aus Inventar für Container in zwei verschiedenen Umgebungen enthalten:
  • Docker-Container, die direkt von der Docker-Engine verwaltet werden
  • OCI-Container, die von Kubernetes verwaltet werden (OCI steht für Open Container Initiative, dem Normungsgremium für das Container-Ökosystem)
Tipp: Die Verfolgung Ihrer Docker-/OCI-Container ist in beiden Umgebungen standardmäßig deaktiviert. Details zum Aktivieren der Verfolgung finden Sie unter Container-Scan.

Docker-Container und die Docker-Engine

Ein Docker-Container-Image ist ein Paket mit allen Skripten, der Software, der Runtime, den System-Tools, den Bibliotheken und der Konfiguration, die zum Ausführen einer Anwendung erforderlich sind. Ein Container-Image kann mithilfe der Docker-Engine in einer kompakten, isolierten Umgebung als Docker-Container gestartet werden. Wie auch virtuelle Computer isolieren Container die Ressourcen. Während virtuelle Computer die Hardware jedoch abstrahieren und einzelne Kernels ausführen, abstrahieren Container das Betriebssystem in einem einzigen Kernel mit Namespace. Daher fällt durch Container die Last eines Hypervisors weg, weil sie direkt auf dem Linux- (oder Windows-)Kernel ausgeführt werden. Für Linux ist das Konzept der Isolierung in Containern (Containerisierung) nicht neu, denn AIX-Workloadpartitionen (wPAR) und Solaris-Zonen gibt es bereits seit geraumer Zeit. Docker stellt jedoch ein weit umfangreicheres Ökosystem zur Verfügung.

Seit Version 15.0.0 enthält der FlexNet-Inventarisierungsagent einen Docker-Tracker zur Verfolgung. Wenn der FlexNet-Inventarisierungsagent lokal auf dem Hostserver, auf dem die Container ausgeführt werden, installiert ist, ist sein Docker-Tracker (nach Aktivierung) dafür zuständig, die Docker-Engine zu überwachen, um Start und Stopp von Containern zu ermitteln. Darüber hinaus ist er dafür zuständig, Roh-Nachweise von Containern (und damit implizit auch von den Images, von denen sie instanziiert werden) zu erfassen. Der Docker-Tracker wartet, bis ein Container das zu startende Image ausführt, und führt eine Inventarisierung ohne Fußabdruck auf dem ausführenden Container durch. (Inventarisierung ohne Fußabdruck bedeutet hier, dass die Inventarisierungskomponente vom Host in den Container geladen und dort ausgeführt wird. Das ermittelte Inventar wird an den Host gemeldet, bevor die Komponente wieder aus dem Container entfernt wird. Dieser Vorgang braucht unter Nutzung des ersten verfügbaren Containers, der von diesem Image hervorgerufen wird, pro Image nur einmal ausgeführt zu werden.) Dadurch kann der FlexNet-Inventarisierungsagent mit voller Kapazität die Rohdaten aller Arten von Installationsnachweisen für jedes Container-Image erfassen.
Hinweis: Die vorgegebene Hierarchie der Elemente in diesem Docker-Container/Engine-Fall ist:
  • Container-Host
  • Image
  • Container

Von Kubernetes verwaltete Container

Ursprünglich von Google entworfen und jetzt open source weiterentwickelt, handelt es sich bei Kubernetes um ein System zur Orchestrierung von Containern, das für die automatische Bereitstellung von Anwendungen, zur Skalierung und zur Verwaltung genutzt wird. Wenn ein Container beispielsweise ausfällt (also die in dieser Umgebung ausgeführte Anwendung abstürzt), kann Kubernetes automatisch einen anderen Container von demselben Image starten. Zur Kubernetes-„Kultur“ gehört auch eine Terminologie, die den in FlexNet Manager Suite verwendeten Termini folgendermaßen zugeordnet werden kann und die eine eigene Hierarchie der folgenden Elemente vorgibt:
  • Ein Kubernetes-Cluster ähnelt einem Cluster in anderen Umgebungen: er verknüpft durch eine bestimmte Konfiguration mehrere Computer, damit diese effektiv als ein einziges System operieren.
  • Ein Kubernetes-Worker oder Knoten (auch Node oder Worker-Node/Worker-Knoten genannt) ist ein Computer, der containerisierte Anwendungen ausführt. Daher entsprechen Kubernetes-Knoten virtuellen Hosts, die virtuelle Computer in nicht-containerisierten Virtualisierungen ausführen, oder einem Container-Host für Docker-Container (wie oben beschrieben). Aus Konsistenzgründen wird die Container-Host-Terminologie in FlexNet Manager Suite für beides verwendet.
  • Ein Kubernetes-Pod ist das bereitstellbare Basisobjekt in Kubernetes und kann einen oder mehrere Container enthalten, die die allgemeinen Ressourcen des Pods gemeinsam verwenden. Für einen Kubernetes-Pod gibt es weder im Docker-Engine-System noch in üblichen VMs eine Entsprechung.
  • Ein Kubernetes-Image hat dieselbe Bedeutung wie ein Image im üblichen Docker-System. Es ist der Master-Ursprung, von dem Container instanziiert werden können.
  • Wie oben beschrieben ist ein Container in Kubernetes konzeptionell dasselbe wie auch im üblichen Docker-System. Da Kubernetes jedoch die Container-Technologie abstrahiert, kann es sich um beliebige Container handeln, die der Open Container Initiative folgen, dem Normungsgremium für das aufkommende Container-Ökosystem.

Das bedeutet, dass Kubernetes eine Hierarchie aus fünf Elementeebenen vorgibt, im Vergleich zu den drei Ebenen im Docker-Engine-System.

Seitenlayout

Jede Zeile der Liste Alle Container enthält einen der folgenden Fälle:
  • einen einzelnen Container mit Details seines Image, Pods (für Kubernetes), Hosts oder Nodes sowie den Cluster, in dem das Host-/Node-Gerät operiert
  • einen Pod ohne laufende Container (soweit aus der FlexNet-Inventarisierung bekannt), weshalb in diesem Fall die Spalte „Container“ leer bleibt
  • ein Image, von dem aktuell kein Container instanziiert wird (soweit aus der FlexNet-Inventarisierung bekannt), weshalb in diesem Fall die Spalten „Container“ und „Pod“ beide leer sind
Per Voreinstellung enthält die Liste Standardgruppen für:
  • Clustername
  • Container-Host (der, wie Sie sich erinnern, den Worker-Knoten in einem Kubernetes-Cluster anzeigt),
  • die Image-ID, die das Image angibt, aus dem der Container instanziiert wurde.
Mit dem Steuerelement + links neben jedem Gruppennamen können Sie die Gruppe aufklappen und eine Hierarchie anzeigen (zum Beispiel, wenn aus dem einen Image eines Hosts mehrere Container instanziiert wurden) und folglich können Sie mit dem Steuerelement - die Gruppe wieder zuklappen; Sie können auch den Gruppenbereich über der Liste verwenden, um eine oder alle Gruppen zu entfernen.

Verfügbare Spalten

Auf dieser Seite finden Sie die folgenden Spalten. Einige Spalten werden standardmäßig angezeigt, andere können über die Spaltenauswahl angezeigt werden. Informationen zur Verwaltung von Spalten und anderen Optionen der Benutzeroberfläche finden Sie im Themenverzeichnis unter Verwalten von Spalten in einer Tabelle.

Tabelle 1. Eigenschaften auf der Seite „Alle Container“
Feld Beschreibung
Cluster-ID

Für Kubernetes ist dies die eindeutige ID des Clusters, der den Worker-Node enthält, auf dem der Pod den Container ausführt, der aus dem Image instanziiert wurde. Für eine Docker-Umgebung bleibt diese Spalte leer.

Clustername
Mögliche Anzeigen:
  • Keine (also leer) für eine Docker-Umgebung.
  • Für Kubernetes ist dies der Name des Clusters, der den Worker-Node enthält, auf dem der Pod ausgeführt wird (der typischerweise den Container beherbergt, der aus dem genannten Image instanziiert wurde). Clusternamen müssen nicht zwangsläufig eindeutig sein. Doppelte Namen können Sie auflösen, indem Sie die Cluster-ID prüfen.
Container-Host

Der Name des Hosts, der den Docker-Dienst ausführt, oder, in einer Kubernetes-Umgebung, der Name des Kubernetes-Worker-Knotens. Wenn Sie auf den Link bei Container-Host klicken, öffnet sich die Seite mit den Eigenschaften des inventarisierten Geräts.

Betriebssystem des Container-Hosts
Das Betriebssystem auf:
  • dem Worker-Node im Falle eines Kubernetes-Clusters (dieser Worker-Node wird in der Spalte Container-Host angezeigt)
  • dem Container-Host im Falle von Docker
Container-ID

Eindeutige Kennung (ID) des Containers. (Wenn die Zeile ein Image oder einen Pod anzeigt, für das/den es keinen Container gibt, bleibt dieser Wert ohne Angabe.)

Container zuletzt verwendet am
Das Datum unter Container zuletzt verwendet am kann wie folgt lauten:
  • Ohne Angabe für ein Image, das keine Container aufweist
  • Ohne Angabe für einen Kubernetes-Pod, der keinen Container enthält
  • Für Container mit:
    • dem Status Running (Wird ausgeführt) das aktuelle Datum
    • jedem anderen Status als Running (Wird ausgeführt) das Datum, an dem der Container angehalten wurde
Containername

Der Name des Containers, der nur angezeigt wird, wenn die aktuelle Zeile einen Container enthält (bleibt auch leer für Zeilen, die entweder einen Kubernetes-Pod ohne Container oder ein Image enthalten, von dem kein Container instanziiert wurde).

Name Container-Pod
Folgender Wert kann angezeigt werden:
  • keiner (= leer) für eine Docker-Umgebung oder für Zeilen, die ein Image ohne Container anzeigen
  • der Name des Pods für Zeilen, die einen Kubernetes-Pod ohne Container anzeigen
  • der Name des Kubernetes-Pods, in dem der Container ausgeführt wird, für Zeilen, die einen Kubernetes-Container anzeigen
Namespace Container-Pod
Folgender Wert kann angezeigt werden:
  • keiner (= leer) für eine Docker-Umgebung oder für Zeilen, die ein Image ohne Container anzeigen
  • der Kubernetes-Namensraum für den Pod in Zeilen, die einen Pod ohne Container anzeigen
  • der Kubernetes-Namensraum für den Pod, in dem der Container ausgeführt wird (für Zeilen die einen Kubernetes-Container anzeigen)
Status des Container-Pods
Folgende Status sind möglich:
  • keiner (= leer) für eine Docker-Umgebung oder für Zeilen, die ein Image ohne Container anzeigen
  • der Status des Pods (in Zeilen, die einen Kubernetes-Container anzeigen, ist dies der Pod, in dem der Container ausgeführt wird). Der Status kann eine der folgenden „Pod-Phasen“ sein:
    • Fehlgeschlagen
    • Ausstehend
    • Running (Wird ausgeführt)
    • Erfolgreich
    • Unbekannt.
    Weitere Informationen finden Sie unter https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/.
UID Container-Pod Folgende Werte sind möglich:
  • keiner (= leer) für eine Docker-Umgebung oder für Zeilen, die ein Image ohne Container anzeigen,
  • die UID des Pods für Zeilen, die einen Kubernetes-Pod ohne Container anzeigen,
  • die UID des Pods, in dem der Container ausgeführt wird, für Zeilen, die einen Kubernetes-Container anzeigen.
Container-Repository-Tags
Dabei kann es sich handeln um:
  • keiner (= leer) für Zeilen, die entweder ein Image ohne instanziierten Container oder einen leeren Pod ohne einen Container anzeigen,
  • das Repository-Tag für das Image, das zum Starten dieses Containers verwendet wird. Häufig ist dies der gleiche Wert wie für die Image-Repository-Tags, der Wert kann jedoch abweichen, wenn eines von vielen Image-Tags für diesen Container ausgewählt wurde.
Containerstatus
Bleibt leer für Zeilen ohne Container (Images, von denen kein Container instanziiert wurde oder Pods ohne Container) und zeigt ansonsten den Status an, der für den Container gemeldet wurde. Für einen Kubernetes-Container sind die folgenden drei Containerstatus möglich:
  • Running (Wird ausgeführt)
  • Beendet (Terminated)
  • In Warteposition (Waiting)
  • Unbekannt.
Weitere Informationen finden Sie unter https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/.
Für Docker-Container sind die folgenden Status möglich:
  • Erstellt
  • Dead (Aufgehängt)
  • Exited (Beendet)
  • Paused (Angehalten)
  • Removing (Wird gelöscht)
  • Restarting (Wird neu gestartet)
  • Running (Wird ausgeführt)
  • Unbekannt.
Weitere Informationen finden Sie unter https://docs.docker.com/engine/reference/commandline/ps/#status.
Image-ID

Eindeutige Kennung (ID) des Image. Wird für das Image und die Container, die davon instanziiert werden, ausgefüllt. (Bleibt leer für alle Kubernetes-Pods ohne laufenden Container.) Sie können auf diesen Link klicken, um die Seite Eigenschaften des Container-Image für dieses Image zu öffnen.

Image zuletzt verwendet am
Das Datum unter Image zuletzt verwendet am kann wie folgt lauten:
  • Ohne Angabe für einen Kubernetes-Pod, der keinen Container enthält
  • Für Images mit einem laufenden Container das jüngste Datum, an dem ein Abgleich stattfand, während ein beliebiger, von diesem Image instanziierter Container ausgeführt wurde
  • Für Images ohne laufenden Container das Datum, an dem der Container, der zuletzt ausgeführt wurde, angehalten wurde
Image-Betriebssystem
Folgender Wert kann angezeigt werden:
  • keiner (= leer), wenn diese Zeile einen Kubernetes-Pod ohne Container anzeigt,
  • Für eine Zeile, die ein Image ohne einen Container enthält, das Betriebssystem der Benutzerumgebung, die im Image enthalten ist,
  • Für eine Zeile, die einen Container enthält, das Betriebssystem der Benutzerumgebung, die im Image enthalten ist, das der Container ausführt.
Image-Repository-Tags
Folgender Wert kann angezeigt werden:
  • keiner (= leer), wenn diese Zeile einen Kubernetes-Pod ohne Container anzeigt,
  • die mit dem Image verbundenen Repository-Tags für Zeilen, die ein Image ohne einen Container anzeigen,
  • die mit dem Image, das den Container ausführt, verbundenen Repository-Tags für eine Zeile, die einen Container anzeigt.
Tipp: Mehrere Tags werden durch Kommata getrennt dargestellt.

FlexNet Manager Suite (Standortgebundene Implementierung)

2022 R1