Installation
- Before you begin
- Install a released version
- Install a custom-configured released version
- Install the latest development version
- Build and install from source
- Install via Helm
- Change the feature gates configuration
- What’s next
Before you begin
Make sure the following conditions are met:
- A Kubernetes cluster with version 1.25 or newer is running. Learn how to install the Kubernetes tools.
- The
SuspendJob
feature gate is enabled. In Kubernetes 1.22 or newer, the feature gate is enabled by default. - (Optional) The
JobMutableNodeSchedulingDirectives
feature gate (available in Kubernetes 1.22 or newer) is enabled. In Kubernetes 1.23 or newer, the feature gate is enabled by default. - The kubectl command-line tool has communication with your cluster.
Kueue publishes metrics to monitor its operators. You can scrape these metrics with Prometheus. Use kube-prometheus if you don’t have your own monitoring system.
The webhook server in kueue uses an internal cert management for provisioning certificates. If you want to use a third-party one, e.g. cert-manager, follow the cert manage guide.
Install a released version
Install by kubectl
To install a released version of Kueue in your cluster by kubectl, run the following command:
To wait for Kueue to be fully available, run:
Install by Helm
To install a released version of Kueue in your cluster by Helm, run the following command:
You can also use the following command:
Add metrics scraping for prometheus-operator
To allow prometheus-operator to scrape metrics from kueue components, run the following command:
Note
This feature depends on servicemonitor CRD, please ensure that CRD is installed first.
We can follow Prometheus Operator Installing guide to install it.
Add API Priority and Fairness configuration for the visibility API
See Configure API Priority and Fairness for more details.
Uninstall
To uninstall a released version of Kueue from your cluster by kubectl, run the following command:
To uninstall a released version of Kueue from your cluster by Helm, run the following command:
Install a custom-configured released version
To install a custom-configured released version of Kueue in your cluster, execute the following steps:
- Download the release’s
manifests.yaml
file:
- With an editor of your preference, open
manifests.yaml
. - In the
kueue-manager-config
ConfigMap manifest, edit thecontroller_manager_config.yaml
data entry. The entry represents the default KueueConfiguration. The contents of the ConfigMap are similar to the following:
The integrations.externalFrameworks
field is available in Kueue v0.7.0 and later.
Note
Certain Kubernetes distributions might use batch/jobs to perform maintenance operations. For these distributions, settingmanageJobsWithoutQueueName
to true
without disabling the
batch/job
integration may prevent system-created jobs from executing.
- Apply the customized manifests to the cluster:
Install the latest development version
To install the latest development version of Kueue in your cluster, run the following command:
The controller runs in the kueue-system
namespace.
Uninstall
To uninstall Kueue, run the following command:
Build and install from source
To build Kueue from source and install Kueue in your cluster, run the following commands:
Add metrics scraping for prometheus-operator
To allow prometheus-operator to scrape metrics from kueue components, run the following command:
Uninstall
To uninstall Kueue, run the following command:
Install via Helm
To install and configure Kueue with Helm, follow the instructions.
Change the feature gates configuration
Kueue uses a similar mechanism to configure features as described in Kubernetes Feature Gates.
In order to change the default of a feature, you need to edit the kueue-controller-manager
deployment within the kueue installation namespace and change the manager
container arguments to include
For example, to enable PartialAdmission
, you should change the manager deployment as follows:
Feature gates for alpha and beta features
Feature | Default | Stage | Since | Until |
---|---|---|---|---|
FlavorFungibility |
true |
Beta | 0.5 | |
MultiKueue |
false |
Alpha | 0.6 | 0.8 |
MultiKueue |
true |
Beta | 0.9 | |
MultiKueueBatchJobWithManagedBy |
false |
Alpha | 0.8 | |
PartialAdmission |
false |
Alpha | 0.4 | 0.4 |
PartialAdmission |
true |
Beta | 0.5 | |
ProvisioningACC |
false |
Alpha | 0.5 | 0.6 |
ProvisioningACC |
true |
Beta | 0.7 | |
QueueVisibility |
false |
Alpha | 0.5 | 0.9 |
VisibilityOnDemand |
false |
Alpha | 0.6 | 0.8 |
VisibilityOnDemand |
true |
Beta | 0.9 | |
PrioritySortingWithinCohort |
true |
Beta | 0.6 | |
LendingLimit |
false |
Alpha | 0.6 | 0.8 |
LendingLimit |
true |
Beta | 0.9 | |
MultiplePreemptions |
false |
Alpha | 0.8 | 0.8 |
MultiplePreemptions |
true |
Beta | 0.9 | 0.9 |
TopologyAwareScheduling |
false |
Alpha | 0.9 | |
ConfigurableResourceTransformations |
false |
Alpha | 0.9 | 0.9 |
ConfigurableResourceTransformations |
true |
Beta | 0.10 | |
WorkloadResourceRequestsSummary |
false |
Alpha | 0.9 | 0.9 |
WorkloadResourceRequestsSummary |
true |
Beta | 0.10 | 0.10 |
ManagedJobsNamespaceSelector |
true |
Beta | 0.10 | |
LocalQueueDefaulting |
false |
Alpha | 0.10 | |
LocalQueueMetrics |
false |
Alpha | 0.10 |
Feature gates for graduated or deprecated features
Feature | Default | Stage | Since | Until |
---|---|---|---|---|
QueueVisibility |
false |
Alpha | 0.4 | 0.9 |
QueueVisibility |
false |
Deprecated | 0.9 | |
AdmissionCheckValidationRules |
false |
Deprecated | 0.9 | |
KeepQuotaForProvReqRetry |
false |
Deprecated | 0.9 | |
MultiplePreemptions |
false |
Alpha | 0.8 | 0.8 |
MultiplePreemptions |
true |
Beta | 0.9 | 0.9 |
MultiplePreemptions |
true |
GA | 0.10 | |
WorkloadResourceRequestsSummary |
false |
Alpha | 0.9 | 0.10 |
WorkloadResourceRequestsSummary |
true |
Beta | 0.10 | 0.11 |
WorkloadResourceRequestsSummary |
true |
GA | 0.11 |
What’s next
- Read the API reference for
Configuration
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.