Skip to content

[TASK] document how to deploy Kubeflow Notebooks 2.0 from published ghcr.io packages #609

@andyatmiami

Description

@andyatmiami

Certification

  • I certify I am an Epic Owner for Kubeflow Notebooks 2.0 and expected to create planning-related issues.

Description

⚠️ THIS IS NOT A PRODUCTION-READY INSTALL PROCESS

Once all required packages for Kubeflow Notebooks 2.0 are published on ghcr.io - we want to provide a WIKI that will walk through the install process for any interested individuals. The goal here is to enable users to configure a cluster to run Kubeflow Notebooks 2.0 to familiarize themselves with the new paradigm being introduced and experiment with features that have been implemented to date.

Wording on the WIKI should be extremely clear that this is being provided purely for experimental purposes and users would be wise to perform the install on a "clean" cluster to avoid any issues with disruption of existing/critical workloads.

At a high level - the deployment steps will look loosely like the following - but please be advised this is not intended to necessarily be a "feature-complete" set of steps. The developer owning this task should sufficiently verify the final instructions to ensure self-service reaches a successful outcome (i.e. workspace kinds and workspaces can be created within the UI).

  1. Start with a "clean" cluster (could be local k3s/kind or EKS/etc)
    • Include some basic “how to get to a clean cluster” by removing any existing/prior installation of Kubeflow Notebooks 2.0 (possibly by label/namespace)
  2. Install cert manager from upstream source (not kubeflow)
  3. Install Istio from kubeflow/manifests
    • ℹ️ this is because to use istio with Kubeflow manifests auth you need to set istio-level configs for ExtAuthZ
  4. Install dashboard from kubeflow/manifests (profile controller, ui, etc)
  5. Install notebooks 2.0 controller/backend/frontend manifests
    • Apply controller from specific commit (kustomize build for the tag replacement)
    • Apply backend from specific commit
    • Apply frontend from specific commit
  6. Port forward the Istio service
    • Create local /etc/hosts entry for kubeflow.example.com ( pointing to 127.0.0.1 on this port forwarded service )
    • Ensure that browser sees HTTPS
  7. Load default WorkspaceKind:
    • Can use either kubectl or the upload YAML in notebooks 2.0 ui
  8. Basic Workspace usage:

💡 As a source of inspiration - feel free to consult this "experimental" helper script that I (@andyatmiami) have been using to help develop and test end-to-end:

Please note this is not using published container images - but can help provide some reference in the types of dependencies that need to be installed.

Acceptance Criteria

  • WIKI page exists that will guide a user in being able to install and run Kubeflow Notebooks 2.0 on a k8s cluster for a specific commit hash

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions