Kubernetes Inventory Uploads

FlexNet Manager Suite 2022 R1 (On-Premises)

The following data classes, each representing a particular Kubernetes resource type or other information about the cluster, are uploaded as part of the primary Kubernetes resource inventory in the k8s-inventory-clusterId-timestamp.ndi file.

MGS_KubernetesCluster

Metadata about the cluster itself, primarily the Kubernetes version. Example:
<Hardware Class="MGS_KubernetesCluster" Name="d8259158-fdfe-4ba3-ae28-be62a51df7f9" Evidence="OS API">
    <Property Name="Name" Value="d8259158-fdfe-4ba3-ae28-be62a51df7f9"/>
    <Property Name="ID" Value="d8259158-fdfe-4ba3-ae28-be62a51df7f9"/>
    <Property Name="Version" Value="v1.21.2"/>
    <Property Name="MajorVersion" Value="1"/>
    <Property Name="MinorVersion" Value="21"/>
    <Property Name="Platform" Value="linux/amd64"/>
    <Property Name="BuildDate" Value="2021-06-16T12:53:14Z"/>
</Hardware>
Field Description
Name

A descriptive name for the cluster

ID

Unique identifier for the cluster

Version

The full version of Kubernetes

MajorVersion

The major version of Kubernetes

MinorVersion

The minor version of Kubernetes

Platform

The operating system and CPU architecture for which the Kubernetes binaries were built

BuildDate

The date the Kubernetes binaries were built

MGS_KubernetesNode

Data representing a Node. Example:
<Hardware Class="MGS_KubernetesNode" Name="f97a7706-2890-4ac7-96ab-6d9405d81d1e" Evidence="OS API">
    <Property Name="Name" Value="foo.example.org"/>
    <Property Name="UID" Value="f97a7706-2890-4ac7-96ab-6d9405d81d1e"/>
    <Property Name="ResourceVersion" Value="236788"/>
    <Property Name="Created" Value="2021-07-26T17:19:36Z"/>
    <Property Name="OS" Value="linux"/>
    <Property Name="Arch" Value="amd64"/>
    <Property Name="MachineID" Value="da8ad26e83c04fb5a2700f0299824737"/>
    <Property Name="KubeletVersion" Value="v1.21.2"/>
    <Property Name="Runtime" Value="docker://20.10.6"/>
    <Property Name="BootID" Value="0377939c-1adb-4ff6-afb3-fd71910719f6"/>
    <Property Name="CPUs" Value="16"/>
    <Property Name="MemoryBytes" Value="274530623488"/>
</Hardware>
Field Description
Name

The name of the node, typically the hostname of the underlying server

UID

Unique identifier for the node

ResourceVersion

The cluster version at which the node was last modified

Created

The time at which the node was created

Deleted

The time at which the node was deleted

OS

The operating system of the node's underlying server

Arch

The CPU architecture of the node's underlying server

MachineID

A unique identifier passed through from the node's underlying server

KubeletVersion

The version of the Kubernetes kubelet component running on the node

Runtime

The container runtime used on the node

BootID

An identifier generated by the operating system on each boot

CPUs

CPU capacity of the node as a number of cores

MemoryBytes

Memory capacity of the node in bytes

MGS_KubernetesNamespace

Represents a Namespace in use within the cluster. Example (notice that the first line has been wrapped for presentation):
<Hardware Class="MGS_KubernetesNamespace" Name="d8259158-fdfe-4ba3-ae28-be62a51df7f9" 
         Evidence="OS API">
    <Property Name="Name" Value="kube-system"/>
    <Property Name="UID" Value="d8259158-fdfe-4ba3-ae28-be62a51df7f9"/>
    <Property Name="ResourceVersion" Value="26"/>
    <Property Name="Created" Value="2021-07-26T17:19:36Z"/>
</Hardware>
Field Description
Name

The name of the namespace

UID

Unique identifier for the namespace

ResourceVersion

The cluster version at which the namespace was last modified

Created

The time at which the namespace was created

Deleted

The time at which the namespace was deleted

MGS_KubernetesOwnerReference

Represents a non-Pod resource that is part of a chain of ownership beginning with a Pod. Contains the UID of its owner, if it has one. Examples (notice that the first lines of each class have been wrapped for presentation):
<Hardware Class="MGS_KubernetesOwnerReference" Name="6b3b1428-572e-4cf8-aa6d-0672d5defc04" 
        Evidence="OS API">
    <Property Name="APIVersion" Value="apps/v1"/>
    <Property Name="Kind" Value="ReplicaSet"/>
    <Property Name="Name" Value="coredns-558bd4d5db"/>
    <Property Name="UID" Value="6b3b1428-572e-4cf8-aa6d-0672d5defc04"/>
    <Property Name="Owner" Value="b5206863-bed7-477e-be40-be1031795c34"/>
</Hardware>
<Hardware Class="MGS_KubernetesOwnerReference" Name="b5206863-bed7-477e-be40-be1031795c34" 
        Evidence="OS API">
    <Property Name="APIVersion" Value="apps/v1"/>
    <Property Name="Kind" Value="Deployment"/>
    <Property Name="Name" Value="coredns"/>
    <Property Name="UID" Value="b5206863-bed7-477e-be40-be1031795c34"/>
</Hardware>
Field Description
APIVersion

The API group and version of the resource's type

Kind

The resource type

Name

The name of the resource

UID

Unique identifier for the resource

Owner

The UID of the resource that owns this resource (property omitted when the owner is not known)

MGS_KubernetesPod

Represents a Pod. Example (notice that the first line has been wrapped for presentation):
<Hardware Class="MGS_KubernetesPod" Name="5c5a521b-7d58-47ca-8983-536bc2ec8c75" 
         Evidence="OS API">
    <Property Name="Name" Value="coredns-558bd4d5db-4w2sc"/>
    <Property Name="Namespace" Value="kube-system"/>
    <Property Name="UID" Value="5c5a521b-7d58-47ca-8983-536bc2ec8c75"/>
    <Property Name="Created" Value="2021-07-26T17:19:52Z"/>
    <Property Name="ResourceVersion" Value="465"/>
    <Property Name="Node" Value="f97a7706-2890-4ac7-96ab-6d9405d81d1e"/>
    <Property Name="ServiceAccount" Value="coredns"/>
    <Property Name="Phase" Value="Running"/>
    <Property Name="Started" Value="2021-07-26T17:19:52Z"/>
    <Property Name="Owner" Value="6b3b1428-572e-4cf8-aa6d-0672d5defc04"/>
</Hardware>
Field Description
Name

The name of the pod

Namespace

The namespace in which the pod is encapsulated

UID

Unique identifier for the pod

Created

The time at which the pod was created

Deleted

The time at which the pod was deleted

ResourceVersion

The cluster version in which the pod was last modified

Node

The UID of the node on which the pod is scheduled

ServiceAccount

The service account under which the pod is running

Phase

The runtime state of the pod

Started

The time at which the pod was started

Owner

The UID of the resource that owns the pod

ProductID

The value of the ProductID pod annotation, if set (this is part of the IBM product annotation standard)

ProductName

The value of the ProductName pod annotation, if set (this is part of the IBM product annotation standard)

ProductMetric

The value of the ProductMetric pod annotation, if set (this is part of the IBM product annotation standard)

CloudpakID

The value of the CloudpakID pod annotation, if set (this is part of the IBM product annotation standard)

CloudpakName

The value of the CloudpakName pod annotation, if set (this is part of the IBM product annotation standard)

ProductChargedContainers

The value of the ProductChargedContainers pod annotation, if set (this is part of the IBM product annotation standard)

ProductCloudpakRatio

The value of the ProductCloudpakRatio pod annotation, if set (this is part of the IBM product annotation standard)

MGS_KubernetesContainer

Represents one of the containers in a Pod. You can identify its Pod using the PodUID field.
Note: To maintain internal consistency within FlexNet Manager Suite with data already collected from Docker, some of the field names differ from those used in the Kubernetes resource.
Example (notice that lines have been wrapped for presentation):
<Hardware Class="MGS_KubernetesContainer" 
        Name="kube-system/coredns-558bd4d5db-4w2sc/coredns" Evidence="OS API">
    <Property Name="Name" Value="coredns"/>
    <Property Name="ImageTag" Value="k8s.gcr.io/coredns/coredns:v1.8.0"/>
    <Property Name="PodUID" Value="5c5a521b-7d58-47ca-8983-536bc2ec8c75"/>
    <Property Name="Entrypoint" Value=""/>
    <Property Name="Cmd" Value="-conf /etc/coredns/Corefile"/>
    <Property Name="ImageID" 
        Value="sha256:cc8fb77bc2a0541949d1d9320a641b82fd392b0d3d8145469ca4709ae769980e"/>
    <Property Name="RestartCount" Value="0"/>
    <Property Name="Status" Value="running"/>
    <Property Name="LastStarted" Value="2021-07-26T17:19:54Z"/>
</Hardware>
Field Description
Name

The name of the container

ImageTag

The name or tag of the image as declared by the user in the specification

PodUID

The UID of the pod to which this container belongs

Entrypoint

The executable the container should run (not always set, as it may be defined in the container image)

Cmd

The arguments to the executable that the container runs (not always set)

InitContainer

A Boolean that is true if the container is an init container that runs during setup of the pod

CPULimit

The CPU resource limit, if one is set, in fractional cores

ImageID

The unique ID of the container image

RestartCount

The number of times the container has been restarted

Status

The runtime state of the container

Reason

The reason the container is in the reported state, if present

LastStarted

The time at which the container entered the running state

LastStopped

The time at which the container entered the terminated state

ExitCode

The exit code of the application if the container has terminated

MGS_KubernetesImage

Represents a container image. Example (notice that lines have been wrapped for presentation):
<Hardware Class="MGS_KubernetesImage" 
        Name="sha256:cc8fb77bc2a0541949d1d9320a641b82fd392b0d3d8145469ca4709ae769980e" 
        Evidence="OS API">
    <Property Name="ID" 
        Value="sha256:cc8fb77bc2a0541949d1d9320a641b82fd392b0d3d8145469ca4709ae769980e"/>
    <Property Name="Names" 
        Value="k8s.gcr.io/coredns/coredns@sha256:
        cc8fb77bc2a0541949d1d9320a641b82fd392b0d3d8145469ca4709ae769980e,
        k8s.gcr.io/coredns/coredns:v1.8.0"/>
    <Property Name="SizeBytes" Value="42454755"/>
    <Property Name="ClusterInstalled" Value="2021-07-30T13:03:42.323598116Z"/>
</Hardware>
Field Description
ID

The unique ID of the image

Names

A comma-separated list of names or tags by which the image can be referenced

SizeBytes

The size of the image in bytes

ClusterInstalled

The time at which the image was first observed to be installed on any node in the cluster

ClusterDeleted

The time at which the image was observed to no longer be installed on any node in the cluster

MGS_KubernetesImageInstallation

Represents the installation of a given image on a given node in the cluster. Example (notice that lines have been wrapped for presentation):
<Hardware Class="MGS_KubernetesImageInstallation" 
        Name="sha256:cc8fb77bc2a0541949d1d9320a641b82fd392b0d3d8145469ca4709ae769980e,
        f97a7706-2890-4ac7-96ab-6d9405d81d1e" Evidence="OS API">
    <Property Name="ImageID" 
        Value="sha256:cc8fb77bc2a0541949d1d9320a641b82fd392b0d3d8145469ca4709ae769980e"/>
    <Property Name="Node" Value="f97a7706-2890-4ac7-96ab-6d9405d81d1e"/>
    <Property Name="Installed" Value="2021-07-30T13:03:42.323598116Z"/>
</Hardware>
Field Description
ImageID

The unique ID of the image

Node

The UID of the node on which the image is installed

Installed

The time at which the image was first observed to be installed on the node

Deleted

The time at which the image was observed to be absent from the node

FlexNet Manager Suite (On-Premises)

2022 R1