Opaque integer resources allow cluster operators to provide new node-level
resources that would be otherwise unknown to the system. Users can consume these
resources in pod specifications, similar to CPU and memory. The scheduler performs
resource accounting so that no more than the available amount is
simultaneously allocated to pods.
|
Opaque integer resources are Alpha currently, and only resource accounting is
implemented. There is no resource quota or limit range support for these
resources, and they have no impact on QoS.
|
Opaque integer resources are called opaque because OpenShift Container Platform
does not know what the resource is, but will schedule a pod on a node
only if enough of that resource is available. They are called integer resources
because they must be available, or advertised, in integer amounts. The API server
restricts quantities of these resources to whole numbers. Examples of
valid quantities are 3
, 3000m
, and 3Ki
.
Opaque integer resources can be used to allocate:
-
Last-level cache (LLC)
-
Graphics processing unit (GPU) devices
-
Field-programmable gate array (FPGA) devices
-
Slots for sharing bandwidth to a parallel file system.
For example, if a node has 800 GiB of a special kind of disk storage, you could create a name for the special storage,
such as opaque-int-resource-special-storage
. You could advertise it in chunks of a certain size,
such as 100 GiB. In that case, your node would advertise that it has eight resources of type opaque-int-resource-special-storage
.
Opaque integer resource names must begin with the prefix pod.alpha.kubernetes.io/opaque-int-resource-
.