--- 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: {}