sigs.k8s.io/kueue@v0.6.2/site/content/en/docs/admission-check-controllers/provisioning.md (about)

     1  ---
     2  title: "Provisioning Admission Check Controller"
     3  date: 2023-10-23
     4  weight: 1
     5  description: >
     6    An admission check controller providing kueue integration with cluster autoscaler.
     7  ---
     8  
     9  The Provisioning Admission Check Controller is an Admission Check Controller designed to integrate Kueues with [Kubernetes cluster-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler). Its primary function is to create [ProvisioningRequests](https://github.com/kubernetes/autoscaler/blob/4872bddce2bcc5b4a5f6a3d569111c11b8a2baf4/cluster-autoscaler/provisioningrequest/apis/autoscaling.x-k8s.io/v1beta1/types.go#L41) for the workloads holding [Quota Reservation](docs/concepts/#quota-reservation) and keeping the [AdmissionCheckState](/docs/concepts/admission_check/#admissioncheckstate) in sync.
    10  
    11  The controller is part of kueue. You can enable it by setting the `ProvisioningACC` feature gate. Check the [Installation](/docs/installation/#change-the-feature-gates-configuration) guide for details on feature gate configuration.
    12  
    13  The Provisioning Admission Check Controller is supported on [Kubernetes cluster-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) versions 1.29 and later. However, some cloud-providers may not have an implementation for it.
    14  
    15  ## Parameters
    16  
    17  This controller uses a `ProvisioningRequestConfig` as parameters, like:
    18  
    19  ```yaml
    20  apiVersion: kueue.x-k8s.io/v1beta1
    21  kind: ProvisioningRequestConfig
    22  metadata:
    23    name: prov-test-config
    24  spec:
    25    provisioningClassName: queued-provisioning.gke.io
    26    managedResources:
    27    - nvidia.com/gpu
    28  ```
    29  
    30  Where:
    31  - **provisioningClassName** - describes the different modes of provisioning the resources. Check `autoscaling.x-k8s.io` `ProvisioningRequestSpec.provisioningClassName` for details.
    32  - **managedResources** -  contains the list of resources managed by the autoscaling.
    33  
    34  Check the [API definition](https://github.com/kubernetes-sigs/kueue/blob/main/apis/kueue/v1beta1/provisioningrequestconfig_types.go) for more details.
    35  
    36  ## Example
    37  
    38  ### Setup
    39  
    40  {{< include "/examples/provisioning/provisioning-setup.yaml" "yaml" >}}
    41  
    42  ### Job using a ProvisioningRequest
    43  
    44  {{< include "/examples/provisioning/sample-job.yaml" "yaml" >}}