Skip to content

[TASK] Makefile target for a fresh kind cluster #409

@andyatmiami

Description

@andyatmiami

Description

While the long term vision in kubeflow/notebooks is to leverage tilt to deliver an exceptional local development experience for developers, progress to date on implementing that has been slow. Furthermore, if/when running the controller test-e2e Makefile locally, that logic presently assumes an empty KinD cluster - such that existing NB 2.0 custom resources like WorkspaceKind and Workspace present on the cluster can cause test failures - which leads to frustration and confusion.

As a quick and simple means to address the above points - the goal of this issue is to simply create a new Makefile target that creates a kind cluster with the name kind-notebooks. cert-manager and metrics-server should be automatically installed by default on this cluster - as those dependencies are critical in the development of NB 2.0 (either presently or in the near future!). However, a command line flag should be able to be provided to the Makefile target to opt out of installed metrics-server - so its easy to validate code behavior gracefully handles its absence.

As the goal of this target to have a "fresh" and/or "clean" cluster - it should delete any existing KinD cluster with the name of kind-notebooks prior to doing its desired install/setup activities.

  • Users interested in having a more persistent KinD cluster can always just create one with a different name!

Acceptance Criteria

  • A Makefile target exists that will create a kind cluster with a name of kind-notebooks
  • The kind-notebooks cluster should by default install cert-manager and metrics-server
  • A command line flag can be provided to opt-out of installing metrics-server
  • In the event a kind-notebooks kind cluster already exists, it will be deleted and a new one created
  • podman and docker should both be supported
    • KIND_EXPERIMENTAL_PROVIDER environment variable

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions