Kubeless
Kubeless is a Kubernetes-native serverless framework to build applications with the FaaS model.
Upgrade
Kubeless currently lacks any direct upgrade process, so the existing version has to be removed first.
- List and then remove existing functions
kubeless function ls -n dictybasekubeless function delete <NAME HERE> -n dictybase
Remember to use any of the
kubectl
orhelm
based removal command.
- Remove kubeless instances from the cluster, first the CRDs and then the associated namespace
kubectl delete crd functions.kubeless.iokubectl delete crd cronjobtriggers.kubeless.iokubectl delete crd httptriggers.kubeless.iokubectl delete ns kubeless
- In case of a helm chart installation...
helm delete kubeless --purge
- Remove the existing kubeless client binary.
- Continue with the fresh install process.
Fresh install
kubectl create ns kubelesshelm install dictybase/kubeless --version 2.2.0 --name kubeless --namespace kubeless --set rbac.create=true
- Download and install the latest kubeless binary.
If you had removed a previous instance of Kubeless, you will need to reinstall any previous functions. At this time you will only need to reinstall
It is also assumed that the following functions have previously been deployed:
These four were only used to add data to the Redis cache. After installation, they do not need to be actively running for any of our software.
Extra sauce (syncing with upstream chart)
The chart in the dictybase helm repository
is packaged from the
upstream repository. To keep it
updated do the following steps:
- Clone the dictybase helm chart repository
git clone git@github.com:dictybase-docker/kubernetes-charts.git
- Clone the upstream repository and change to the kubeless folder
git clone https://github.com/helm/charts.gitcd incubator/kubeless
- Make any changes necessary
- Package the chart and copy the tarball to the docs folder of
dictybase helm chart
repository
helm package .
- Go back to the
dictybase helm chart
repository and update the package index
helm repo index docs
- Commit and push the changes.
- Synchronize the changes with helm client.
helm repo update