Kubernetes Inventory Uploads

IT Asset Management (Cloud)

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_KubernetesKubeVirtVirtualMachine

Represents a KubeVirt virtual machine in use within the cluster. Example (notice that the first line has been wrapped for presentation):
<Hardware Class="MGS_KubernetesKubeVirtVirtualMachine" Name="3249a671-2533-449a-9a7e-f933132824a8" Evidence="OS API">
    <Property Name="Name" Value="ubuntu-bionic-1"/>
    <Property Name="UID" Value="3249a671-2533-449a-9a7e-f933132824a8"/>
    <Property Name="NameSpace" Value="default"/>
    <Property Name="Status" Value="Running"/>
    <Property Name="KubeVirtSize" Value="small"/>
    <Property Name="MachineType" Value="q35"/>
    <Property Name="Arch" Value="amd64"/>
    <Property Name="Created" Value="2024-04-12T05:46:38Z"/>
    <Property Name="Image" Value="tedezed/ubuntu-container-disk:20.0"/>
    <Property Name="OwnerName" Value="vm-pool-ubuntu"/>
    <Property Name="OwnerUID" Value="16a5ff37-76c8-42e1-92a5-35b3b030beb4"/>
</Hardware>
Field Description
Name
The name of the vm
UID
Unique identifier for the vm
NameSpace
The namespace in which the virtual machine is encapsulated
Status
Status of the virtual machine (Running, Stopped etc)
KubeVirtSize
Defines the amount of resources (CPU, memory) to allocate to the VM (tiny, small, large etc)
MachineType
QEMU machine type is the actual chipset
Arch
Specifies the architecture of the vm
Image
Image is the name of the image with the embedded disk
OwnerName
Name of the owner. (only present if started from a VM Pool)
OwnerUID
UID of the owner. (only present if started from a VM Pool)
Created
The time at which the vm was created

MGS_KubernetesKubeVirtVirtualMachineInstance

Represents a KubeVirt virtual machine instance in use within the cluster. Example (notice that the first line has been wrapped for presentation):
<Hardware Class="MGS_KubernetesKubeVirtVirtualMachineInstance" Name="eea34a97-6a62-4e90-b56e-ab1e334969e3" Evidence="OS API">
    <Property Name="Name" Value="ubuntu-bionic-1"/>
    <Property Name="UID" Value="eea34a97-6a62-4e90-b56e-ab1e334969e3"/>
    <Property Name="NameSpace" Value="default"/>
    <Property Name="Arch" Value="amd64"/>
    <Property Name="FirmwareUUID" Value="3044fb1e-223a-5afc-9101-7380b0ef5b12"/>
    <Property Name="MachineType" Value="pc-q35-rhel9.2.0"/>
    <Property Name="Created" Value="2024-04-12T05:47:05Z"/>
    <Property Name="NodeName" Value="minikube-m02"/>
    <Property Name="NodeUID" Value="d3bfd850-d730-4aa4-863f-00d1333516c8"/>
    <Property Name="PodName" Value="virt-launcher-ubuntu-bionic-cmtdn"/>
    <Property Name="PodUID" Value="0d9316d0-d98a-497b-85c3-ead63bfaee6e"/>
    <Property Name="OwnerName" Value="ubuntu-bionic-1"/>
    <Property Name="OwnerUID" Value="3249a671-2533-449a-9a7e-f933132824a8"/>
    <Property Name="CpuCores" Value="1"/>
    <Property Name="CpuSockets" Value="0"/>
    <Property Name="CpuThreads" Value="0"/>
    <Property Name="CpuModel" Value="host-model"/>
    <Property Name="Image" Value="tedezed/ubuntu-container-disk:20.0"/>
    <Property Name="IpAddress" Value="10.244.0.8"/>
    <Property Name="MacAddress" Value="46:31:09:92:63:b9"/>
</Hardware>
Field Description
Name
The name of vmi
UID
Unique identifier for the vmi
NameSpace
The namespace in which the vmi is encapsulated
Arch
Specifies the architecture of the vm
FirmwareUUID
Firmware UUID of the vm system
MachineType
QEMU machine type is the actual chipset
NodeName
Name of the node that the vmi is running on
NodeUID
UID of the node that the vmi is running on
PodName
Name of the pod that the vmi is running on
PodUID
UID of the pod that the vmi is running on
OwnerName
Name of the owner (either a vm or vmi replica set)
OwnerUID
UID of the owner (either a vm or vmi replica set)
CpuCores
Specifies the number of cores inside the vmi
CpuSockets
Specifies the number of sockets inside the vmi
CpuThreads
Specifies the number of threads inside the vmi
CpuModel
Specifies the CPU model inside the vmi ("host-model" to get CPU closest to the node one)
Image
Image is the name of the image with the embedded disk
IpAddress
IP address of a Virtual Machine interface
MacAddress
Hardware address of a Virtual Machine interface
Created
The time at which the vmi was created

MGS_KubernetesKubeVirtVirtualMachineInstanceReplicaSet

Represents a KubeVirt virtual machine instance replica set in use within the cluster. Example (notice that the first line has been wrapped for presentation):
<Hardware Class="MGS_KubernetesKubeVirtVirtualMachineInstanceReplicaSet" Name="b5bba5c7-7e0f-490f-ab48-51f1e093342d" Evidence="OS API">
    <Property Name="Name" Value="testreplicaset"/>
    <Property Name="UID" Value="b5bba5c7-7e0f-490f-ab48-51f1e093342d"/>
    <Property Name="NameSpace" Value="default"/>
    <Property Name="Replicas" Value="3"/>
    <Property Name="ReadyReplicas" Value="3"/>
    <Property Name="Created" Value="2024-04-12T08:31:07Z"/>
    <Property Name="Image" Value="kubevirt/cirros-container-disk-demo:latest"/>
</Hardware>
Field Description
Name
The name of vmi replica set
UID
Unique identifier for the vmi replica set
NameSpace
The namespace in which the vmi replica set is encapsulated
Replicas
Total number of non-terminated pods targeted by this deployment
ReadyReplicas
The number of ready replicas for this replica set
Image
Image is the name of the image with the embedded disk
Created
The time at which the vmi replica set was created

MGS_KubernetesKubeVirtVirtualMachinePool

Represents a KubeVirt virtual machine pool in use within the cluster. Example (notice that the first line has been wrapped for presentation):
<Hardware Class="MGS_KubernetesKubeVirtVirtualMachinePool" Name="16a5ff37-76c8-42e1-92a5-35b3b030beb4" Evidence="OS API">
    <Property Name="Name" Value="vm-pool-ubuntu"/>
    <Property Name="UID" Value="16a5ff37-76c8-42e1-92a5-35b3b030beb4"/>
    <Property Name="NameSpace" Value="default"/>
    <Property Name="Replicas" Value="2"/>
    <Property Name="ReadyReplicas" Value="1"/>
    <Property Name="Created" Value="2024-04-12T12:22:59Z"/>
    <Property Name="Image" Value="tedezed/ubuntu-container-disk:20.0"/>
</Hardware>
Field Description
Name
The name of vm pool
UID
Unique identifier for the vm pool
NameSpace
The namespace in which the vm pool is encapsulated
Replicas
Number of desired pods
ReadyReplicas
The number of ready replicas for this vm pool
Image
Image is the name of the image with the embedded disk
Created
The time at which the vm pool set was created

MGS_KubernetesOlmSubscription

Data representing OpenShift operators installed on worker nodes within a Kubernetes cluster. Example:
<Hardware Class="MGS_KubernetesOlmSubscription" Name="2ed7a22a-4bf3-4c8d-8f1d-394a1ff8af08" Evidence="OS API">
    <Property Name="Name" Value="container-security-operator"/>
    <Property Name="UID" Value="2ed7a22a-4bf3-4c8d-8f1d-394a1ff8af08"/>
    <Property Name="NameSpace" Value="openshift-operators"/>
    <Property Name="CatalogSource" Value="redhat-operators"/>
    <Property Name="Created" Value="2023-04-21T09:06:25Z"/>
    <Property Name="InstalledCSV" Value="container-security-operatorv1.0.0"/>
</Hardware>
Field Description
Name

The descriptive name for the operator

UID

Unique identifier for the operator

NameSpace

The name of an operator type used within the cluster

CatalogSource

The catalog source of the operator

Created

The time at which the operator was created

InstalledCSV

The cluster service version of the installed operator

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="OSImage" Value="Red Hat Enterprise Linux CoreOS 410.84.202202251632-0 (Ootpa)"/>
    <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"/>
    <Property Name="Roles" Value="control-plane,master,worker"/>
</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

OSImage
The operating system installed on a Kubernetes worker node
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

Roles

Identifies which of the nodes in a kubernetes cluster are worker nodes, control-plane or master

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 IT Asset Management 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

IT Asset Management (Cloud)

Current