Skip to content

kubeflow-0.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 22 Oct 17:10

Kubeflow Helm Chart - Release Notes (v0.3.0)

Summary

Version 0.3.0 introduces key updates aimed at improving the installation process and enabling additional configuration options for CRDs. This includes the creation of a separate Helm chart for all CRDs, improved Knative integration, added TensorBoard integration, and updated quickstart scripts. These changes resolve issues with large manifests and allow for better customization during deployment.

Changes

  • TensorBoard Integration:

    • Added support for TensorBoard integration, enabling visualization and tracking of machine learning experiments within the Kubeflow environment.
  • Separate Helm Chart for All CRDs:

    • Created a new Helm chart kubeflow-crds to handle all CRDs. This was done for two main reasons:
      1. The CRDs for the Training Operator are particularly large, which caused installation issues due to the excessive manifest size.
      2. To enable parameterization of the CRDs, specifically for setting .spec.conversion.strategy: Webhook.
    • Introduced a new toggle value .crds.minimized (defaults to true) to install a minimized version of the CRDs. This version uses x-kubernetes-preserve-unknown-fields: true, which reduces the size of the CRDs and makes installation feasible even in environments with strict manifest size limits. The size limitation arises because Helm creates a release manifest on the cluster using a Secret, which is subject to size constraints imposed by etcd. Most Kubernetes installations set the etcd object limit to 1.5MiB, and the minimized CRDs help keep the release manifest within this limit.
    • For more details, see helm/helm#8281.
  • Helm Repository Mirror for Knative Operator:

  • Simplified Knative Integration:

    • Knative integration has been streamlined, with the full spec now defined under:
      • .Values.knativeIntegration.knativeServing.operatorSpec
      • .Values.knativeIntegration.knativeEventing.operatorSpec

Quickstart Scripts Updates

The existing quickstart scripts have been updated to incorporate the new kubeflow-crds Helm chart:

  • ArgoCD Quickstart:

    • Checks for ArgoCD installation, installs it if needed, and applies ArgoCD Apps for dependencies and the Kubeflow Helm Chart, including the new kubeflow-crds chart.
    • example/helm/quickstart.argocd.sh
  • ArgoCD Apps of Apps:

    • Installs and configures ArgoCD for sync-waves and health assessments, deploying the App of Apps manifest for Kubeflow and dependencies, including the kubeflow-crds chart.
    • example/helm/quickstart.app-of-apps.sh
  • Helm:

    • Installs Helm releases for Kubeflow and its dependencies, including the separate kubeflow-crds chart, in the correct order.
    • example/helm/quickstart.helm.sh
  • Helm with AWS EKS:

Quickstart

To quickly deploy the kubeflow Helm chart and all its dependencies on a local Kubernetes cluster using kind, you can follow this simple two-step process. First, create the Kubernetes cluster, and then run the quickstart script which will handle installing all the required components.

$ kind create cluster
$ curl -s https://raw.githubusercontent.com/kromanow94/kubeflow-manifests/refs/tags/kubeflow-0.3.0/example/helm/quickstart.helm.sh | bash