All Containers Page
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.
The following Cluster properties are displayed.
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:
|
The following Container properties are displayed.
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:
|
||||||||||||||||||||||||||||||||||||
Repository tags |
This value may be:
|
||||||||||||||||||||||||||||||||||||
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:
For further information please see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/. For a Docker container, the status may be one of:
For further information please see https://docs.docker.com/engine/reference/commandline/ps/#status. |
The following Container Pod properties are displayed.
Property |
Description |
|||||||||||||||||||||
Container pod name |
This value may be:
|
|||||||||||||||||||||
Namespace |
This value may be:
|
|||||||||||||||||||||
Status |
The status may be:
For further information please see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/. |
|||||||||||||||||||||
UID |
This is either:
|
The following Host properties are displayed.
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:
|
||||||||||||
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:
|
The following Image properties are displayed.
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:
|
|||||||||
Operating system |
This value may be:
|
|||||||||
Repository tags |
This value may be:
Tip:Multiple tags are comma-separated. |