All Containers Page

The All Containers page contains features related to the discovery of inventory and information of your Docker container host, container images, and associated containers in your network. The discovered device records are created after the inventory data is imported into IT Asset Management. Application inventory is collected from running containers. After the inventory data is imported into FlexNet Manager Suite, matching discovered device records are created automatically.

Important:Consider the following:

Inventory from Docker containers will not contribute towards your licensed number of inventory devices.
Visibility of your Docker containers is disabled by default, so please ensure that you first enable it from the Inventory Settings Page page, under Container Scanning.
FlexNet Inventory Agent requires a running container instance to gather application inventory.

Docker Containers and the Docker Engine

A Docker container image is a package of all the scripts, software, runtime, system tools, libraries, and configuration required to run an application. A container image can be launched as a Docker container in a lightweight isolated environment using the Docker Engine. Like virtual machines, containers isolate resources. However, while virtual machines abstract hardware and run individual kernels, containers abstract the operating system in a single namespaced kernel. Therefore, containers eliminate the weight of a hypervisor by executing directly on the Linux or Windows kernel. The concept of containerization is not new with Linux, as AIX Workload Partitions (wPAR) and Solaris Zones have come before. However, Docker has provided a far more complete ecosystem.

From version 15.0.0, FlexNet inventory agent includes a Docker tracker. When FlexNet inventory agent is locally installed on the host server where the containers are to run, its Docker tracker (once enabled) is responsible for monitoring the Docker Engine to discover containers as they start and stop. Further to this, it is responsible for gathering raw evidence from containers (and hence by inference, from the images from which they are instantiated). The Docker tracker waits for a container executing the image to be launched, and performs a zero-footprint inventory on the executing container (zero-footprint here means that the inventory component is loaded from the host into the container, executed with the resulting inventory reported to the host, and then removed from the container – a process which only needs to happen once per image, using the first available container invoked from that image). This enables the full capability of the FlexNet inventory agent to gather all types of raw installation evidence for each container image.

Note:The default hierarchy of items in this Docker container/Engine case is:

Container Host
Image
Container

Containers Managed by Kubernetes

Originally designed by Google and now open source, Kubernetes is a container-orchestration system used for automating application deployment, scaling, and management. For example, if a container goes down (that is, the application running in that environment fails), Kubernetes can automatically start another container from the same image. The Kubernetes "culture" brings with it a naming convention that maps onto the names used in FlexNet Manager Suite as follows, and provides a distinct hierarchy of these items:

A Kubernetes cluster is similar to a cluster in other environments: it links multiple computers through a special configuration to operate effectively as a single system.
A Kubernetes worker, or node (or often 'worker node'), is a computer that runs containerized applications. This makes Kubernetes nodes analogous to virtual hosts that run virtual machines in non-containerized virtualization, or to a Container Host for Docker containers (as described above). For consistency, the Container Host terminology is used for both within FlexNet Manager Suite.
A Kubernetes pod is the most basic deployable object within Kubernetes, and may include one or more containers that share the common resources of the pod. There is no analog for a Kubernetes pod in the Docker Engine system, nor in traditional VMs.
A Kubernetes image means the same as in the basic Docker system — it is the master original from which containers can be instantiated.
In Kubernetes, a container is conceptually the same as in the basic Docker system, as described above. However, as Kubernetes abstracts the container technology, these may be any containers adhering to the Open Container Initiative, the standards body for the emerging container ecosystem.

This means that Kubernetes provides a five-level hierarchy of items, compared with the three levels under the Docker Engine system.

Page Layout

Each row of the All Containers listing displays one of the following cases:

A single container, along with details of its image, pod (for Kubernetes), host or node, and the cluster in which the host/node device operates
A pod that does not have any containers running (as far as is known from FlexNet inventory), in which case the container column remains blank
An image from which no container is currently instantiated (as far as is known from FlexNet inventory), in which case the container column and the pod column both remain blank.

By default, the listing has default groupings on:

The Cluster name
The Host name (which, you recall, displays the worker node in a Kubernetes cluster)
The Image ID identifying the image from which the container was instantiated.

You may use the + control to the left of any group name to expand that group and expose a hierarchy (for example, when there are multiple containers instantiated from the one image on a host), and subsequently use the - control to close down the group again; or you may use the grouping area above the listing to remove any or all of the groupings.

Available Columns

Columns are grouped into the following categories. The category name appears on the top of the column heading when you drag a property from the Column Chooser. Properties that belong to the same category appear under a single category title.

Cluster Properties
Container Properties
Container Pod Properties
Host Properties
Image Properties

Some columns are displayed by default and others can be displayed through the column chooser. To manage columns and other UI options, see the topics under Managing Columns in a Table.

Cluster Properties

The following Cluster properties are displayed.

Cluster Properties on the All Containers Page

Property

Description

Cluster ID

For Kubernetes, the unique ID of the cluster containing the worker node where the pod runs the container instantiated from the image. For a Docker environment, this column remains blank.

Cluster name

May display:

A blank for a Docker environment.
For Kubernetes, the name of the cluster containing the worker node where the pod is running (typically hosting a container instantiated from the named image). Cluster names are not guaranteed to be unique. You may resolve duplicate names by checking the Cluster ID.

Container Properties

The following Container properties are displayed.

Container Properties on the All Containers Page

Property

Description

Container ID

Unique identifier of the container. (Where the row displays either an image or a pod for which there is no container, this value remains blank.)

Container name

The name of the container, only populated when the current row displays a container (and remains blank for rows that contain either a Kubernetes pod without a container, or an image from which no container has been instantiated).

Last used date

This value may be:

Blank for an image that has no containers
Blank for a Kubernetes pod that does not include a container
For containers with:
A Status of Running, displays the current date.
Any value of Status other than Running, displays the date when the container stopped running.

Repository tags

This value may be:

Blank for rows displaying either an image without any instantiated containers, or an empty pod without a container
The repository tag for the image used to launch this container. Most often this is the same value as for the image repository tags, but the value may be different where one of multiple image tags was selected for this container.

Status

Remains blank for rows without containers (images from which no container is instantiated, or pods without containers), and otherwise displays the status reported for the container. For a Kubernetes container, the three possible container states are:

Running
Terminated
Waiting
Unknown

For further information please see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/.

For a Docker container, the status may be one of:

Created
Dead
Exited
Paused
Removing
Restarting
Running
Unknown

For further information please see https://docs.docker.com/engine/reference/commandline/ps/#status.

Container Pod Properties

The following Container Pod properties are displayed.

Container Pod Properties on the All Containers Page

Property

Description

Container pod name

This value may be:

Blank for a Docker environment, or for rows displaying an image without a container
The name of the pod, for rows that display a Kubernetes pod without a container
The name of the Kubernetes pod that the container is running in, for rows that display a Kubernetes container.

Namespace

This value may be:

Blank for a Docker environment, or for rows displaying an image without a container
The Kubernetes namespace for the pod, in rows displaying a pod without a container
The Kubernetes namespace for the pod where the container is running (for a row displaying a Kubernetes container).

Status

The status may be:

Blank for a Docker environment, or for rows displaying an image without a container
The status of the pod (for rows displaying a Kubernetes container, this is the pod where the container is running). The status may then be one of the following “pod phases”:
Failed
Pending
Running
Succeeded
Unknown

For further information please see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/.

UID

This is either:

Blank for a Docker environment, or for a row displaying an image without a container
The UID of the pod, for rows displaying a Kubernetes pod without a container
The UID of the pod where the container is running, for rows that display a Kubernetes container

Host Properties

The following Host properties are displayed.

Host Properties on the All Containers Page

Property

Description

Cores

The total number of processor cores available in the container’s host.

Corporate unit

The corporate unit responsible for the container’s host.

Cost center

The cost center responsible for all costs incurred for the container’s host.

Host name

The name of the host running the Docker service; or, in a Kubernetes environment, the name of the Kubernetes worker node. You can click on the container host link to open its Inventory Device Properties page.

Location

The location within your enterprise that is responsible for the container’s host.

Operating system

The operating system running on either:

For a Kubernetes cluster, the operating system of the worker node (this worker node appears in the Host name column)
For Docker, the operating system running on the Host name 

Processors

The total number of processors available in the container’s host.

Role

The role assigned to the container’s host, such as Development, Test, and Production.

Status

The current state of the container’s host. It can have any of the following values:

Active: The device is active, for which the inventory information is received from an inventory source.
Archived: The device is in transition pending deletion, but is currently held because of its historical impacts on IBM PVU sub-capacity retrospective calculations.
Awaiting Inventory: This device is a place-holder that has not yet appeared in imported inventory from any source.
Ignored: The device is not managed. An ignored device is not considered in license consumption calculations.

Image Properties

The following Image properties are displayed.

Image Properties on the All Containers Page

Property

Description

Image ID

Unique identifier of the image. Populated for the image and containers instantiated from it. (Remains blank for any Kubernetes pod not running a container.) You can click on this link to open the Container Image Properties page for this image.

Image installed date

The date of when the image was installed on the device represented in this row. This value may be blank if this row displays a Kubernetes pod not running a container.

Last used date

This value may be:

Blank for a Kubernetes pod that does not include a container
In images with any running container, the most recent date that a reconcile occurred, when any container instantiated from this image was running
For images without a running container, the date when the most recently-running container stopped running.

Operating system

This value may be:

Blank if this row displays a Kubernetes pod that has no container
For a row displaying an image without a container, the operating system in the user environment contained in the image
For a row displaying a container, the operating system in the user environment contained in the image that the container is running.

Repository tags

This value may be:

Blank if this row displays a Kubernetes pod that has no container
The repository tag(s) associated with the image, for a row that displays an image without any container
The repository tag(s) associated with the image that the container is running, for a row that displays a container.

Tip:Multiple tags are comma-separated.