diff --git a/manifests/v1beta1/components/controller/controller.yaml b/manifests/v1beta1/components/controller/controller.yaml index c6f97b5f189..416f7a675ec 100644 --- a/manifests/v1beta1/components/controller/controller.yaml +++ b/manifests/v1beta1/components/controller/controller.yaml @@ -6,6 +6,7 @@ metadata: namespace: kubeflow labels: katib.kubeflow.org/component: controller + katib.kubeflow.org/version: latest spec: replicas: 1 selector: diff --git a/manifests/v1beta1/components/controller/katib-config.yaml b/manifests/v1beta1/components/controller/katib-config.yaml deleted file mode 100644 index 1e3af3fb59b..00000000000 --- a/manifests/v1beta1/components/controller/katib-config.yaml +++ /dev/null @@ -1,59 +0,0 @@ ---- -apiVersion: config.kubeflow.org/v1beta1 -kind: KatibConfig -init: - controller: - webhookPort: 8443 - trialResources: - - Job.v1.batch - - TFJob.v1.kubeflow.org - - PyTorchJob.v1.kubeflow.org - - MPIJob.v1.kubeflow.org - - XGBoostJob.v1.kubeflow.org - - MXJob.v1.kubeflow.org -runtime: - metricsCollectors: - - kind: StdOut - image: docker.io/kubeflowkatib/file-metrics-collector:latest - - kind: File - image: docker.io/kubeflowkatib/file-metrics-collector:latest - - kind: TensorFlowEvent - image: docker.io/kubeflowkatib/tfevent-metrics-collector:latest - resources: - limits: - memory: 1Gi - suggestions: - - algorithmName: random - image: docker.io/kubeflowkatib/suggestion-hyperopt:latest - - algorithmName: tpe - image: docker.io/kubeflowkatib/suggestion-hyperopt:latest - - algorithmName: grid - image: docker.io/kubeflowkatib/suggestion-optuna:latest - - algorithmName: hyperband - image: docker.io/kubeflowkatib/suggestion-hyperband:latest - - algorithmName: bayesianoptimization - image: docker.io/kubeflowkatib/suggestion-skopt:latest - - algorithmName: cmaes - image: docker.io/kubeflowkatib/suggestion-goptuna:latest - - algorithmName: sobol - image: docker.io/kubeflowkatib/suggestion-goptuna:latest - - algorithmName: multivariate-tpe - image: docker.io/kubeflowkatib/suggestion-optuna:latest - - algorithmName: enas - image: docker.io/kubeflowkatib/suggestion-enas:latest - resources: - limits: - memory: 200Mi - - algorithmName: darts - image: docker.io/kubeflowkatib/suggestion-darts:latest - - algorithmName: pbt - image: docker.io/kubeflowkatib/suggestion-pbt:latest - persistentVolumeClaimSpec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 5Gi - earlyStoppings: - - algorithmName: medianstop - image: docker.io/kubeflowkatib/earlystopping-medianstop:latest diff --git a/manifests/v1beta1/components/controller/kustomization.yaml b/manifests/v1beta1/components/controller/kustomization.yaml index bda9c9acb06..36b9efebc52 100644 --- a/manifests/v1beta1/components/controller/kustomization.yaml +++ b/manifests/v1beta1/components/controller/kustomization.yaml @@ -7,9 +7,11 @@ resources: - rbac.yaml - service.yaml - trial-templates.yaml -configMapGenerator: - - name: katib-config - files: - - katib-config.yaml - options: - disableNameSuffixHash: true +#vars: +# - name: KATIB_VERSION +# fieldref: +# fieldpath: metadata.labels.katib\.kubeflow\.org/version +# objref: +# apiVersion: apps/v1 +# kind: Deployment +# name: katib-controller diff --git a/manifests/v1beta1/components/db-manager/db-manager.yaml b/manifests/v1beta1/components/db-manager/db-manager.yaml index 41b8b3f9307..ad19b94f8ca 100644 --- a/manifests/v1beta1/components/db-manager/db-manager.yaml +++ b/manifests/v1beta1/components/db-manager/db-manager.yaml @@ -6,6 +6,7 @@ metadata: namespace: kubeflow labels: katib.kubeflow.org/component: db-manager + katib.kubeflow.org/version: latest spec: replicas: 1 selector: diff --git a/manifests/v1beta1/components/katib-config/katib-config.yaml b/manifests/v1beta1/components/katib-config/katib-config.yaml new file mode 100644 index 00000000000..fcb38e92ff2 --- /dev/null +++ b/manifests/v1beta1/components/katib-config/katib-config.yaml @@ -0,0 +1,59 @@ +--- +apiVersion: config.kubeflow.org/v1beta1 +kind: KatibConfig +init: + controller: + webhookPort: 8443 + trialResources: + - Job.v1.batch + - TFJob.v1.kubeflow.org + - PyTorchJob.v1.kubeflow.org + - MPIJob.v1.kubeflow.org + - XGBoostJob.v1.kubeflow.org + - MXJob.v1.kubeflow.org +runtime: + metricsCollectors: + - kind: StdOut + image: docker.io/kubeflo`wkatib/file-metrics-collector:$(KATIB_VERSION) + - kind: File + image: docker.io/kubeflowkatib/file-metrics-collector:$(KATIB_VERSION) + - kind: TensorFlowEvent + image: docker.io/kubeflowkatib/tfevent-metrics-collector:$(KATIB_VERSION) + resources: + limits: + memory: 1Gi + suggestions: + - algorithmName: random + image: docker.io/kubeflowkatib/suggestion-hyperopt:$(KATIB_VERSION) + - algorithmName: tpe + image: docker.io/kubeflowkatib/suggestion-hyperopt:$(KATIB_VERSION) + - algorithmName: grid + image: docker.io/kubeflowkatib/suggestion-optuna:$(KATIB_VERSION) + - algorithmName: hyperband + image: docker.io/kubeflowkatib/suggestion-hyperband:$(KATIB_VERSION) + - algorithmName: bayesianoptimization + image: docker.io/kubeflowkatib/suggestion-skopt:$(KATIB_VERSION) + - algorithmName: cmaes + image: docker.io/kubeflowkatib/suggestion-goptuna:$(KATIB_VERSION) + - algorithmName: sobol + image: docker.io/kubeflowkatib/suggestion-goptuna:$(KATIB_VERSION) + - algorithmName: multivariate-tpe + image: docker.io/kubeflowkatib/suggestion-optuna:$(KATIB_VERSION) + - algorithmName: enas + image: docker.io/kubeflowkatib/suggestion-enas:$(KATIB_VERSION) + resources: + limits: + memory: 200Mi + - algorithmName: darts + image: docker.io/kubeflowkatib/suggestion-darts:$(KATIB_VERSION) + - algorithmName: pbt + image: docker.io/kubeflowkatib/suggestion-pbt:$(KATIB_VERSION) + persistentVolumeClaimSpec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 5Gi + earlyStoppings: + - algorithmName: medianstop + image: docker.io/kubeflowkatib/earlystopping-medianstop:$(KATIB_VERSION) diff --git a/manifests/v1beta1/components/katib-config/kustomization.yaml b/manifests/v1beta1/components/katib-config/kustomization.yaml new file mode 100644 index 00000000000..d49fcc753a1 --- /dev/null +++ b/manifests/v1beta1/components/katib-config/kustomization.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +configMapGenerator: + - name: katib-config + files: + - katib-config.yaml + options: + disableNameSuffixHash: true + labels: + katib.kubeflow.org/version: latest +configurations: + - transformer-configs.yaml +vars: + - name: KATIB_VERSION + fieldref: + fieldpath: metadata.labels.katib\.kubeflow\.org/version + objref: + apiVersion: v1 + kind: ConfigMap + name: katib-config diff --git a/manifests/v1beta1/components/katib-config/transformer-configs.yaml b/manifests/v1beta1/components/katib-config/transformer-configs.yaml new file mode 100644 index 00000000000..a32a457af2f --- /dev/null +++ b/manifests/v1beta1/components/katib-config/transformer-configs.yaml @@ -0,0 +1,4 @@ +--- +varReference: + - kind: ConfigMap + path: data diff --git a/manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml b/manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml index cd6b57f51f4..d5358eddaa3 100644 --- a/manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml +++ b/manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml @@ -19,6 +19,8 @@ resources: - ../../components/webhook/ # Cert-manager certificate for webhooks - certificate.yaml + # Katib Config. + - ../../components/katib-config/ images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller diff --git a/manifests/v1beta1/installs/katib-external-db/kustomization.yaml b/manifests/v1beta1/installs/katib-external-db/kustomization.yaml index 0f6fe165541..9d8ff99fea7 100644 --- a/manifests/v1beta1/installs/katib-external-db/kustomization.yaml +++ b/manifests/v1beta1/installs/katib-external-db/kustomization.yaml @@ -17,6 +17,8 @@ resources: - ../../components/cert-generator/ # Katib webhooks. - ../../components/webhook/ + # Katib Config. + - ../../components/katib-config/ images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller diff --git a/manifests/v1beta1/installs/katib-leader-election/katib-config.yaml b/manifests/v1beta1/installs/katib-leader-election/katib-config.yaml index 579bb8922d1..c4ce0ac044b 100644 --- a/manifests/v1beta1/installs/katib-leader-election/katib-config.yaml +++ b/manifests/v1beta1/installs/katib-leader-election/katib-config.yaml @@ -17,40 +17,40 @@ init: runtime: metricsCollectors: - kind: StdOut - image: docker.io/kubeflowkatib/file-metrics-collector:latest + image: docker.io/kubeflowkatib/file-metrics-collector:$(KATIB_VERSION) - kind: File - image: docker.io/kubeflowkatib/file-metrics-collector:latest + image: docker.io/kubeflowkatib/file-metrics-collector:$(KATIB_VERSION) - kind: TensorFlowEvent - image: docker.io/kubeflowkatib/tfevent-metrics-collector:latest + image: docker.io/kubeflowkatib/tfevent-metrics-collector:$(KATIB_VERSION) resources: limits: memory: 1Gi suggestions: - algorithmName: random - image: docker.io/kubeflowkatib/suggestion-hyperopt:latest + image: docker.io/kubeflowkatib/suggestion-hyperopt:$(KATIB_VERSION) - algorithmName: tpe - image: docker.io/kubeflowkatib/suggestion-hyperopt:latest + image: docker.io/kubeflowkatib/suggestion-hyperopt:$(KATIB_VERSION) - algorithmName: grid - image: docker.io/kubeflowkatib/suggestion-optuna:latest + image: docker.io/kubeflowkatib/suggestion-optuna:$(KATIB_VERSION) - algorithmName: hyperband - image: docker.io/kubeflowkatib/suggestion-hyperband:latest + image: docker.io/kubeflowkatib/suggestion-hyperband:$(KATIB_VERSION) - algorithmName: bayesianoptimization - image: docker.io/kubeflowkatib/suggestion-skopt:latest + image: docker.io/kubeflowkatib/suggestion-skopt:$(KATIB_VERSION) - algorithmName: cmaes - image: docker.io/kubeflowkatib/suggestion-goptuna:latest + image: docker.io/kubeflowkatib/suggestion-goptuna:$(KATIB_VERSION) - algorithmName: sobol - image: docker.io/kubeflowkatib/suggestion-goptuna:latest + image: docker.io/kubeflowkatib/suggestion-goptuna:$(KATIB_VERSION) - algorithmName: multivariate-tpe - image: docker.io/kubeflowkatib/suggestion-optuna:latest + image: docker.io/kubeflowkatib/suggestion-optuna:$(KATIB_VERSION) - algorithmName: enas - image: docker.io/kubeflowkatib/suggestion-enas:latest + image: docker.io/kubeflowkatib/suggestion-enas:$(KATIB_VERSION) resources: limits: memory: 200Mi - algorithmName: darts - image: docker.io/kubeflowkatib/suggestion-darts:latest + image: docker.io/kubeflowkatib/suggestion-darts:$(KATIB_VERSION) - algorithmName: pbt - image: docker.io/kubeflowkatib/suggestion-pbt:latest + image: docker.io/kubeflowkatib/suggestion-pbt:$(KATIB_VERSION) persistentVolumeClaimSpec: accessModes: - ReadWriteMany @@ -59,4 +59,4 @@ runtime: storage: 5Gi earlyStoppings: - algorithmName: medianstop - image: docker.io/kubeflowkatib/earlystopping-medianstop:latest + image: docker.io/kubeflowkatib/earlystopping-medianstop:$(KATIB_VERSION) diff --git a/manifests/v1beta1/installs/katib-openshift/kustomization.yaml b/manifests/v1beta1/installs/katib-openshift/kustomization.yaml index 58e5bf050a1..b3ba0c97dfa 100644 --- a/manifests/v1beta1/installs/katib-openshift/kustomization.yaml +++ b/manifests/v1beta1/installs/katib-openshift/kustomization.yaml @@ -27,6 +27,8 @@ resources: - ../../components/ui/ # Katib webhooks. - ../../components/webhook/ + # Katib Config. + - ../../components/katib-config/ images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller diff --git a/manifests/v1beta1/installs/katib-standalone-postgres/kustomization.yaml b/manifests/v1beta1/installs/katib-standalone-postgres/kustomization.yaml index 30a5b7193f3..1c05bf7b423 100644 --- a/manifests/v1beta1/installs/katib-standalone-postgres/kustomization.yaml +++ b/manifests/v1beta1/installs/katib-standalone-postgres/kustomization.yaml @@ -19,6 +19,8 @@ resources: - ../../components/cert-generator/ # Katib webhooks. - ../../components/webhook/ + # Katib Config. + - ../../components/katib-config/ images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller diff --git a/manifests/v1beta1/installs/katib-standalone/kustomization.yaml b/manifests/v1beta1/installs/katib-standalone/kustomization.yaml index 7e71b26a388..117ce4c7f45 100644 --- a/manifests/v1beta1/installs/katib-standalone/kustomization.yaml +++ b/manifests/v1beta1/installs/katib-standalone/kustomization.yaml @@ -19,6 +19,8 @@ resources: - ../../components/cert-generator/ # Katib webhooks. - ../../components/webhook/ + # Katib Config. + - ../../components/katib-config/ images: - name: docker.io/kubeflowkatib/katib-controller newName: docker.io/kubeflowkatib/katib-controller diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index b35892ebc5b..e5198ee8876 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -73,11 +73,11 @@ update_yaml_files "${INSTALLS_PATH}" "newName: ${OLD_PREFIX}" "newName: ${NEW_PR update_yaml_files "${INSTALLS_PATH}" "newTag: .*" "newTag: ${TAG}" # Katib Config images. -CONFIG_PATH="manifests/v1beta1/components/controller/katib-config.yaml" +CONFIG_PATH="manifests/v1beta1/components/katib-config/" echo -e "Update Katib Metrics Collectors, Suggestions and EarlyStopping images\n" -update_yaml_files "${CONFIG_PATH}" "${OLD_PREFIX}" "${NEW_PREFIX}" -update_yaml_files "${CONFIG_PATH}" ":[^[:space:]].*\"" ":${TAG}\"" +update_yaml_files "${CONFIG_PATH}" "image: ${OLD_PREFIX}" "image: ${NEW_PREFIX}" +update_yaml_files "${CONFIG_PATH}" "katib.kubeflow.org/version: .*" "katib.kubeflow.org/version: ${TAG}" # Katib Trial training container images.