@@ -35,15 +35,14 @@ This controller is running on the hub, contains a credential controller and an a
3535### Addon chart
3636- ** Addon deployment:** Deploy [ Kueue addon controllers] ( #kueue-addon-controller ) on the hub.
3737- ** Addon Template:** To deploy ` ResourceFlavor ` , ` ClusterQueue ` and ` LocalQueue ` resources need by MultiKueue to spoke clusters.
38- - ** Other addon files:** ` ClusterManagementAddOn ` , ` ClusterRole ` , ` ClusterRoleBinding ` , ` ManagedClusterSetBinding ` , ` Placement ` etc.
38+ - ** Kueue Operator Template:** Optional operator-based Kueue installation spoke clusters.
39+ - ** Other addon files:** ` ClusterManagementAddOn ` , ` ClusterRole ` , ` ClusterRoleBinding ` , ` ManagedClusterSetBinding ` , ` Placement ` etc.
3940
4041## Prerequisites
4142
4243- Open Cluster Management (OCM) installed with the following addons:
4344 - [ Cluster Permission Addon] ( https://github.com/open-cluster-management-io/cluster-permission )
4445 - [ Managed Service Account Addon] ( https://github.com/open-cluster-management-io/managed-serviceaccount )
45- - Kueue already installed on the hub and spoke cluster
46- - MultiKueue enabled on the hub
4746
4847## Quick Start
4948
@@ -52,13 +51,27 @@ The whole setup steps about this solution, please refer to this [Kueue Integrati
5251
5352## Installation
5453
55- On the hub cluster, deploy the addon.
54+ ### Method 1: Using Makefile
55+
56+ On the hub cluster, deploy the addon:
5657
5758``` bash
5859make deploy
5960```
6061
61- You can install the addons via the helm charts.
62+ ### Method 2: Using Helm Charts
63+
64+ The addon supports two installation approaches:
65+
66+ ** Option 1: Manual Kueue Installation**
67+ - Kueue already installed on the hub and spoke cluster
68+
69+ ** Option 2: Operator-based Installation**
70+ - [ Kueue operator] ( https://github.com/openshift/kueue-operator ) available in your cluster
71+
72+ #### Option 1: Manual Kueue Installation
73+
74+ Install the addon with manually pre-installed Kueue:
6275
6376``` bash
6477$ helm repo add ocm https://open-cluster-management.io/helm-charts/
@@ -74,6 +87,49 @@ $ helm install \
7487 # --set image.tag=<chart-version> \
7588```
7689
90+ #### Option 2: Operator-based Kueue Installation
91+
92+ Install the addon with automatic Kueue operator deployment:
93+
94+ Prepare a values.override.yaml with below content:
95+
96+ ``` yaml
97+ # Install Kueue via Operator (OpenShift/downstream only)
98+ installKueueViaOperator : true
99+
100+ # Operator Lifecycle Manager RBAC configuration
101+ operatorLifecycleManager :
102+ clusterRoleBindingName : kueue-operator-lifecycle-manager-rolebinding
103+ clusterRoleName : system:controller:operator-lifecycle-manager
104+
105+ # Kueue Operator configuration
106+ kueueOperator :
107+ name : kueue-operator
108+ namespace : openshift-kueue-operator
109+ operatorGroupName : openshift-kueue-operator
110+ channel : stable-v1.0
111+ source : redhat-operators
112+ sourceNamespace : openshift-marketplace
113+ startingCSV : kueue-operator.v1.0.0
114+
115+ # Cert Manager Operator configuration
116+ certManagerOperator :
117+ name : openshift-cert-manager-operator
118+ namespace : cert-manager-operator
119+ operatorGroupName : cert-manager-operator
120+ channel : stable-v1
121+ source : redhat-operators
122+ sourceNamespace : openshift-marketplace
123+ startingCSV : cert-manager-operator.v1.16.1
124+ ` ` `
125+
126+ ` ` ` bash
127+ $ helm install \
128+ -n open-cluster-management-addon --create-namespace \
129+ -f values.override.yaml \
130+ kueue-addon ocm/kueue-addon
131+ ```
132+
77133To confirm the installation from hub:
78134
79135``` bash
@@ -219,4 +275,3 @@ This automation greatly reduces manual effort and ensures that MultiKueue enviro
219275- The admission check controller watches for `AdmissionCheck` resources referencing OCM `Placement`.
220276- The admission check controller watches the `PlacementDecision`, creates or updates `MultiKueueCluster` resources with the kubeconfig details for each cluster, and also update these clusters in the `MultiKueueConfig` resource.
221277- Finally, admission check controller updates the `AdmissionCheck` condition to true, indicating successful generation of the `MultiKueueConfig` and `MultiKueueCluster`, readying the [MultiKueue](https://kueue.sigs.k8s.io/docs/concepts/multikueue/) environment for job scheduling.
222-
0 commit comments