162 lines
7.4 KiB
YAML
162 lines
7.4 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.9.2
|
|
creationTimestamp: null
|
|
name: gpudeviceplugins.deviceplugin.intel.com
|
|
spec:
|
|
group: deviceplugin.intel.com
|
|
names:
|
|
kind: GpuDevicePlugin
|
|
listKind: GpuDevicePluginList
|
|
plural: gpudeviceplugins
|
|
singular: gpudeviceplugin
|
|
scope: Cluster
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.desiredNumberScheduled
|
|
name: Desired
|
|
type: integer
|
|
- jsonPath: .status.numberReady
|
|
name: Ready
|
|
type: integer
|
|
- jsonPath: .spec.nodeSelector
|
|
name: Node Selector
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GpuDevicePlugin is the Schema for the gpudeviceplugins API. It
|
|
represents the GPU device plugin responsible for advertising Intel GPU hardware
|
|
resources to the kubelet.
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: GpuDevicePluginSpec defines the desired state of GpuDevicePlugin.
|
|
properties:
|
|
enableMonitoring:
|
|
description: EnableMonitoring enables the monitoring resource ('i915_monitoring')
|
|
which gives access to all GPU devices on given node.
|
|
type: boolean
|
|
image:
|
|
description: Image is a container image with GPU device plugin executable.
|
|
type: string
|
|
initImage:
|
|
description: InitImage is a container image with tools (e.g., GPU
|
|
NFD source hook) installed on each node.
|
|
type: string
|
|
logLevel:
|
|
description: LogLevel sets the plugin's log level.
|
|
minimum: 0
|
|
type: integer
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: NodeSelector provides a simple way to constrain device
|
|
plugin pods to nodes with particular labels.
|
|
type: object
|
|
preferredAllocationPolicy:
|
|
description: PreferredAllocationPolicy sets the mode of allocating
|
|
GPU devices on a node. See documentation for detailed description
|
|
of the policies. Only valid when SharedDevNum > 1 is set.
|
|
enum:
|
|
- balanced
|
|
- packed
|
|
- none
|
|
type: string
|
|
resourceManager:
|
|
description: ResourceManager handles the fractional resource management
|
|
for multi-GPU nodes
|
|
type: boolean
|
|
sharedDevNum:
|
|
description: SharedDevNum is a number of containers that can share
|
|
the same GPU device.
|
|
minimum: 1
|
|
type: integer
|
|
type: object
|
|
status:
|
|
description: 'GpuDevicePluginStatus defines the observed state of GpuDevicePlugin.
|
|
TODO(rojkov): consider code deduplication with QatDevicePluginStatus.'
|
|
properties:
|
|
controlledDaemonSet:
|
|
description: ControlledDaemoSet references the DaemonSet controlled
|
|
by the operator.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: 'If referring to a piece of an object instead of
|
|
an entire object, this string should contain a valid JSON/Go
|
|
field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within
|
|
a pod, this would take on a value like: "spec.containers{name}"
|
|
(where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]"
|
|
(container with index 2 in this pod). This syntax is chosen
|
|
only to have some well-defined way of referencing a part of
|
|
an object. TODO: this design is not final and this field is
|
|
subject to change in the future.'
|
|
type: string
|
|
kind:
|
|
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
|
type: string
|
|
namespace:
|
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
|
type: string
|
|
resourceVersion:
|
|
description: 'Specific resourceVersion to which this reference
|
|
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
|
|
type: string
|
|
uid:
|
|
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
desiredNumberScheduled:
|
|
description: The total number of nodes that should be running the
|
|
device plugin pod (including nodes correctly running the device
|
|
plugin pod).
|
|
format: int32
|
|
type: integer
|
|
nodeNames:
|
|
description: The list of Node names where the device plugin pods are
|
|
running.
|
|
items:
|
|
type: string
|
|
type: array
|
|
numberReady:
|
|
description: The number of nodes that should be running the device
|
|
plugin pod and have one or more of the device plugin pod running
|
|
and ready.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- desiredNumberScheduled
|
|
- numberReady
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|