diff --git a/SETUP.md b/SETUP.md index 0d1e032..dc67e53 100644 --- a/SETUP.md +++ b/SETUP.md @@ -11,7 +11,7 @@ will be used in the setup process for each team of MLBatch users that is onboarded. This setup has been developed on OpenShift 4.14 and Kubernetes 1.27 and -is intended to support OpenShift 4.12 and up and/or Kubernetes 1.25 and up. +is intended to support OpenShift 4.14 and up and/or Kubernetes 1.27 and up. To start with, recursively clone and enter this repository: ```sh @@ -50,11 +50,11 @@ Instructions are provided for the following OpenShift AI ***fast*** releases: ## Kubernetes -MLBatch can be installed on any Kubernetes cluster version 1.25 or later +MLBatch can be installed on any Kubernetes cluster version 1.27 or later by following these instructions: - + [Kubernetes Cluster Setup](./setup.k8s-v1.25/CLUSTER-SETUP.md) - + [Kubternets Team Setup](./setup.k8s-v1.25/TEAM-SETUP.md) - + [Kubernetes Uninstall](setup.k8s-v1.25/UNINSTALL.md) + + [Kubernetes Cluster Setup](./setup.k8s-v1.27/CLUSTER-SETUP.md) + + [Kubternets Team Setup](./setup.k8s-v1.27/TEAM-SETUP.md) + + [Kubernetes Uninstall](setup.k8s-v1.27/UNINSTALL.md) On Kubernetes version 1.30 and later, an enhanced user experience is available by using ValidatingAdmissionPolicies to streamline quota diff --git a/setup.k8s-v1.25/kind/kind-config.yaml b/setup.k8s-v1.25/kind/kind-config.yaml deleted file mode 100644 index dd5cb1a..0000000 --- a/setup.k8s-v1.25/kind/kind-config.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# this config file contains all config fields with comments -kind: Cluster -apiVersion: kind.x-k8s.io/v1alpha4 -# 1 control plane node and 1 worker node -nodes: -# the control plane node config -- role: control-plane - # kubernetes version 1.25.16 from kind v0.23.0 - image: kindest/node:v1.25.16@sha256:5da57dfc290ac3599e775e63b8b6c49c0c85d3fec771cd7d55b45fae14b38d3b -# the worker -- role: worker - # kubernetes version 1.25.16 from kind v0.23.0 - image: kindest/node:v1.25.16@sha256:5da57dfc290ac3599e775e63b8b6c49c0c85d3fec771cd7d55b45fae14b38d3b diff --git a/setup.k8s-v1.25/CLUSTER-SETUP.md b/setup.k8s-v1.27/CLUSTER-SETUP.md similarity index 88% rename from setup.k8s-v1.25/CLUSTER-SETUP.md rename to setup.k8s-v1.27/CLUSTER-SETUP.md index 34a0093..7bbce99 100644 --- a/setup.k8s-v1.25/CLUSTER-SETUP.md +++ b/setup.k8s-v1.27/CLUSTER-SETUP.md @@ -27,7 +27,7 @@ kubectl delete crd noderesourcetopologies.topology.node.k8s.io Create `default-priority`, `high-priority`, and `low-priority` priority classes: ```sh -kubectl apply -f setup.k8s-v1.25/mlbatch-priorities.yaml +kubectl apply -f setup.k8s-v1.27/mlbatch-priorities.yaml ``` ## Coscheduler @@ -40,8 +40,8 @@ helm install scheduler-plugins --namespace scheduler-plugins --create-namespace ``` Patch Coscheduler pod priorities: ```sh -kubectl patch deployment -n scheduler-plugins --type=json --patch-file setup.k8s-v1.25/coscheduler-priority-patch.yaml scheduler-plugins-controller -kubectl patch deployment -n scheduler-plugins --type=json --patch-file setup.k8s-v1.25/coscheduler-priority-patch.yaml scheduler-plugins-scheduler +kubectl patch deployment -n scheduler-plugins --type=json --patch-file setup.k8s-v1.27/coscheduler-priority-patch.yaml scheduler-plugins-controller +kubectl patch deployment -n scheduler-plugins --type=json --patch-file setup.k8s-v1.27/coscheduler-priority-patch.yaml scheduler-plugins-scheduler ``` ## Install Operators @@ -53,22 +53,22 @@ kubectl create namespace mlbatch-system Install the Kubeflow Training Operator ```sh -kubectl apply --server-side -k setup.k8s-v1.25/training-operator +kubectl apply --server-side -k setup.k8s-v1.27/training-operator ``` Install the KubeRay Operator ```sh -kubectl apply --server-side -k setup.k8s-v1.25/kuberay +kubectl apply --server-side -k setup.k8s-v1.27/kuberay ``` Install Kueue ```sh -kubectl apply --server-side -k setup.k8s-v1.25/kueue +kubectl apply --server-side -k setup.k8s-v1.27/kueue ``` Install the AppWrapper Operator ```sh -kubectl apply --server-side -k setup.k8s-v1.25/appwrapper +kubectl apply --server-side -k setup.k8s-v1.27/appwrapper ``` The provided configuration differs from the default configuration of the operators as follows: @@ -90,14 +90,14 @@ operators as follows: Create Kueue's default flavor: ```sh -kubectl apply -f setup.k8s-v1.25/default-flavor.yaml +kubectl apply -f setup.k8s-v1.27/default-flavor.yaml ``` ## Cluster Role Create `mlbatch-edit` role: ```sh -kubectl apply -f setup.k8s-v1.25/mlbatch-edit-role.yaml +kubectl apply -f setup.k8s-v1.27/mlbatch-edit-role.yaml ``` ## Slack Cluster Queue diff --git a/setup.k8s-v1.25/TEAM-SETUP.md b/setup.k8s-v1.27/TEAM-SETUP.md similarity index 100% rename from setup.k8s-v1.25/TEAM-SETUP.md rename to setup.k8s-v1.27/TEAM-SETUP.md diff --git a/setup.k8s-v1.25/UNINSTALL.md b/setup.k8s-v1.27/UNINSTALL.md similarity index 72% rename from setup.k8s-v1.25/UNINSTALL.md rename to setup.k8s-v1.27/UNINSTALL.md index f19608f..f1d0dd6 100644 --- a/setup.k8s-v1.25/UNINSTALL.md +++ b/setup.k8s-v1.27/UNINSTALL.md @@ -6,10 +6,10 @@ Then to uninstall the MLBatch controllers and reclaim the corresponding namespaces, do the following: ```sh # Delete operators and CRDs -kubectl delete -k setup.k8s-v1.25/appwrapper -kubectl delete -k setup.k8s-v1.25/kueue -kubectl delete -k setup.k8s-v1.25/kuberay -kubectl delete -k setup.k8s-v1.25/training-operator +kubectl delete -k setup.k8s-v1.27/appwrapper +kubectl delete -k setup.k8s-v1.27/kueue +kubectl delete -k setup.k8s-v1.27/kuberay +kubectl delete -k setup.k8s-v1.27/training-operator # Delete namespace kubectl delete namespace mlbatch-system diff --git a/setup.k8s-v1.25/appwrapper/config_patch.yaml b/setup.k8s-v1.27/appwrapper/config_patch.yaml similarity index 100% rename from setup.k8s-v1.25/appwrapper/config_patch.yaml rename to setup.k8s-v1.27/appwrapper/config_patch.yaml diff --git a/setup.k8s-v1.25/appwrapper/kustomization.yaml b/setup.k8s-v1.27/appwrapper/kustomization.yaml similarity index 100% rename from setup.k8s-v1.25/appwrapper/kustomization.yaml rename to setup.k8s-v1.27/appwrapper/kustomization.yaml diff --git a/setup.k8s-v1.25/appwrapper/manager_resources_patch.yaml b/setup.k8s-v1.27/appwrapper/manager_resources_patch.yaml similarity index 100% rename from setup.k8s-v1.25/appwrapper/manager_resources_patch.yaml rename to setup.k8s-v1.27/appwrapper/manager_resources_patch.yaml diff --git a/setup.k8s-v1.25/appwrapper/remove_default_namespace.yaml b/setup.k8s-v1.27/appwrapper/remove_default_namespace.yaml similarity index 100% rename from setup.k8s-v1.25/appwrapper/remove_default_namespace.yaml rename to setup.k8s-v1.27/appwrapper/remove_default_namespace.yaml diff --git a/setup.k8s-v1.25/coscheduler-priority-patch.yaml b/setup.k8s-v1.27/coscheduler-priority-patch.yaml similarity index 100% rename from setup.k8s-v1.25/coscheduler-priority-patch.yaml rename to setup.k8s-v1.27/coscheduler-priority-patch.yaml diff --git a/setup.k8s-v1.25/default-flavor.yaml b/setup.k8s-v1.27/default-flavor.yaml similarity index 100% rename from setup.k8s-v1.25/default-flavor.yaml rename to setup.k8s-v1.27/default-flavor.yaml diff --git a/setup.k8s-v1.27/kind/kind-config.yaml b/setup.k8s-v1.27/kind/kind-config.yaml new file mode 100644 index 0000000..f5d7a9e --- /dev/null +++ b/setup.k8s-v1.27/kind/kind-config.yaml @@ -0,0 +1,13 @@ +# this config file contains all config fields with comments +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +# 1 control plane node and 1 worker node +nodes: +# the control plane node config +- role: control-plane + # kubernetes version 1.27.17 from kind v0.24.0 + image: kindest/node:v1.27.17@sha256:3fd82731af34efe19cd54ea5c25e882985bafa2c9baefe14f8deab1737d9fabe +# the worker +- role: worker + # kubernetes version 1.27.17 from kind v0.24.0 + image: kindest/node:v1.27.17@sha256:3fd82731af34efe19cd54ea5c25e882985bafa2c9baefe14f8deab1737d9fabe diff --git a/setup.k8s-v1.25/kuberay/kustomization.yaml b/setup.k8s-v1.27/kuberay/kustomization.yaml similarity index 100% rename from setup.k8s-v1.25/kuberay/kustomization.yaml rename to setup.k8s-v1.27/kuberay/kustomization.yaml diff --git a/setup.k8s-v1.25/kuberay/manager_resources_patch.yaml b/setup.k8s-v1.27/kuberay/manager_resources_patch.yaml similarity index 100% rename from setup.k8s-v1.25/kuberay/manager_resources_patch.yaml rename to setup.k8s-v1.27/kuberay/manager_resources_patch.yaml diff --git a/setup.k8s-v1.25/kuberay/remove_default_namespace.yaml b/setup.k8s-v1.27/kuberay/remove_default_namespace.yaml similarity index 100% rename from setup.k8s-v1.25/kuberay/remove_default_namespace.yaml rename to setup.k8s-v1.27/kuberay/remove_default_namespace.yaml diff --git a/setup.k8s-v1.25/kueue/controller_manager_config.yaml b/setup.k8s-v1.27/kueue/controller_manager_config.yaml similarity index 100% rename from setup.k8s-v1.25/kueue/controller_manager_config.yaml rename to setup.k8s-v1.27/kueue/controller_manager_config.yaml diff --git a/setup.k8s-v1.25/kueue/kustomization.yaml b/setup.k8s-v1.27/kueue/kustomization.yaml similarity index 100% rename from setup.k8s-v1.25/kueue/kustomization.yaml rename to setup.k8s-v1.27/kueue/kustomization.yaml diff --git a/setup.k8s-v1.25/kueue/manager_resources_patch.yaml b/setup.k8s-v1.27/kueue/manager_resources_patch.yaml similarity index 100% rename from setup.k8s-v1.25/kueue/manager_resources_patch.yaml rename to setup.k8s-v1.27/kueue/manager_resources_patch.yaml diff --git a/setup.k8s-v1.25/kueue/mutating_webhook_patch.yaml b/setup.k8s-v1.27/kueue/mutating_webhook_patch.yaml similarity index 100% rename from setup.k8s-v1.25/kueue/mutating_webhook_patch.yaml rename to setup.k8s-v1.27/kueue/mutating_webhook_patch.yaml diff --git a/setup.k8s-v1.25/kueue/remove_default_namespace.yaml b/setup.k8s-v1.27/kueue/remove_default_namespace.yaml similarity index 100% rename from setup.k8s-v1.25/kueue/remove_default_namespace.yaml rename to setup.k8s-v1.27/kueue/remove_default_namespace.yaml diff --git a/setup.k8s-v1.25/kueue/validating_webhook_patch.yaml b/setup.k8s-v1.27/kueue/validating_webhook_patch.yaml similarity index 100% rename from setup.k8s-v1.25/kueue/validating_webhook_patch.yaml rename to setup.k8s-v1.27/kueue/validating_webhook_patch.yaml diff --git a/setup.k8s-v1.25/mlbatch-edit-role.yaml b/setup.k8s-v1.27/mlbatch-edit-role.yaml similarity index 100% rename from setup.k8s-v1.25/mlbatch-edit-role.yaml rename to setup.k8s-v1.27/mlbatch-edit-role.yaml diff --git a/setup.k8s-v1.25/mlbatch-priorities.yaml b/setup.k8s-v1.27/mlbatch-priorities.yaml similarity index 100% rename from setup.k8s-v1.25/mlbatch-priorities.yaml rename to setup.k8s-v1.27/mlbatch-priorities.yaml diff --git a/setup.k8s-v1.25/training-operator/kustomization.yaml b/setup.k8s-v1.27/training-operator/kustomization.yaml similarity index 100% rename from setup.k8s-v1.25/training-operator/kustomization.yaml rename to setup.k8s-v1.27/training-operator/kustomization.yaml diff --git a/setup.k8s-v1.25/training-operator/manager_resources_patch.yaml b/setup.k8s-v1.27/training-operator/manager_resources_patch.yaml similarity index 100% rename from setup.k8s-v1.25/training-operator/manager_resources_patch.yaml rename to setup.k8s-v1.27/training-operator/manager_resources_patch.yaml diff --git a/setup.tmpl/Kubernetes-v1.25.yaml b/setup.tmpl/Kubernetes-v1.27.yaml similarity index 54% rename from setup.tmpl/Kubernetes-v1.25.yaml rename to setup.tmpl/Kubernetes-v1.27.yaml index 528b841..e632567 100644 --- a/setup.tmpl/Kubernetes-v1.25.yaml +++ b/setup.tmpl/Kubernetes-v1.27.yaml @@ -1,7 +1,7 @@ -# Values for Kubernetes v1.25+ +# Values for Kubernetes v1.27+ OPENSHIFT: false -VERSION: k8s-v1.25 +VERSION: k8s-v1.27 KUBECTL: kubectl VAP: false SLACKCQ: true diff --git a/setup.tmpl/Makefile b/setup.tmpl/Makefile index 861de9f..e8eafc8 100644 --- a/setup.tmpl/Makefile +++ b/setup.tmpl/Makefile @@ -29,8 +29,8 @@ docs: gotmpl ../tools/gotmpl/gotmpl -input ./TEAM-SETUP.md.tmpl -output ../setup.RHOAI-v2.12/TEAM-SETUP.md -values RHOAI-v2.12.yaml ../tools/gotmpl/gotmpl -input ./CLUSTER-SETUP.md.tmpl -output ../setup.RHOAI-v2.13/CLUSTER-SETUP.md -values RHOAI-v2.13.yaml ../tools/gotmpl/gotmpl -input ./TEAM-SETUP.md.tmpl -output ../setup.RHOAI-v2.13/TEAM-SETUP.md -values RHOAI-v2.13.yaml - ../tools/gotmpl/gotmpl -input ./CLUSTER-SETUP.md.tmpl -output ../setup.k8s-v1.25/CLUSTER-SETUP.md -values Kubernetes-v1.25.yaml - ../tools/gotmpl/gotmpl -input ./TEAM-SETUP.md.tmpl -output ../setup.k8s-v1.25/TEAM-SETUP.md -values Kubernetes-v1.25.yaml + ../tools/gotmpl/gotmpl -input ./CLUSTER-SETUP.md.tmpl -output ../setup.k8s-v1.27/CLUSTER-SETUP.md -values Kubernetes-v1.27.yaml + ../tools/gotmpl/gotmpl -input ./TEAM-SETUP.md.tmpl -output ../setup.k8s-v1.27/TEAM-SETUP.md -values Kubernetes-v1.27.yaml ../tools/gotmpl/gotmpl -input ./CLUSTER-SETUP.md.tmpl -output ../setup.k8s-v1.30/CLUSTER-SETUP.md -values Kubernetes-v1.30.yaml ../tools/gotmpl/gotmpl -input ./TEAM-SETUP.md.tmpl -output ../setup.k8s-v1.30/TEAM-SETUP.md -values Kubernetes-v1.30.yaml