Make Helm the only supported Operator install method #594
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To have a good installation experience we need to ensure the version of the operator manifests being installed matches the version of the controller docker image. We currently support two installation methods; static manifests and helm. When we package the helm chart we bake in the docker image tag so the chart version is tightly pinned to the container version.
However, the static manifests use
:latestwhich doesn't get updated at all since we switched to using chartpress to package our container images too (xref #508). The Operator hasn't been around long but we are already seeing users being bitten by the "latest is not a version" anti-pattern.To resolve this I've decided to remove the static manifests altogether as getting the pinning working with
pre-commithooks just seems like a minefield and installing YAML files from amainbranch of a repo on GitHub doesn't seem to be a great default practice. Instead, I've madehelmthe primary install method but also documented usinghelm templateto export the static manifests from the latest release for those that prefer not to usehelm.Install with Helm
$ helm install --repo https://helm.dask.org --create-namespace -n dask-operator --generate-name dask-kubernetes-operatorInstall with Kubectl
$ helm template --include-crds --repo https://helm.dask.org release dask-kubernetes-operator | kubectl apply -f -This means everyone needs to have
helminstalled, but that seems like a fine compromise and should improve user experience and reduce maintainer overhead.Closes #508.
Supersedes #586.