MetaKube Add-Ons

Add-Ons have been disabled. They can no longer be installed, updated or deleted.
This guide will show you different options to delete or continue to use the installed resources.

Contents of an Addon

Every addon is installed into a separate namespace prefixed with syseleven-.
In every such namespace you will find:

  • An installed Helm release

    Most of the addons are installed through a Helm release.

    Using a local Helm 3 client, you can find it like so:

    helm -n syseleven-<addon name> list

    Once the addon has been "deactivated", this release will no longer be updated continuously on config changes.

    To get the manifests of all resources that are part of that Helm release, run:

    helm -n syseleven-<addon name> get manifests syseleven-<addon-name>
  • Resources installed without Helm

    Some resources are not managed by Helm.
    To list these resources, run:

    kubectl get role,clusterrole,rolebinding,clusterrolebinding,sa,cm,secret,daemonset,prometheusrule,servicemonitor,podmonitor,mutatingwebhookconfiguration,crd,psp -A -l addons.syseleven.de/name="<addon name>"
  • A Secret <namespace>-helm-info with the following data:

    This is only applicable to addons using Helm

    • chartRepository: The Helm chart repository used to install the addon contents
    • chartName: The name of the chart in the repository
    • chartVersion: The version of the chart that's installed
    • values: A yaml document with all the values used to install the current revision of the Helm release

    The data is stored in base64 encoded binary.
    To retrieve it as plaintext, you may run the following:

    kubectl -n syseleven-<addon name> get secret syseleven-<addon name>-helm-info -o jsonpath='{.data.values}' | base64 --decode

Remove the resources manually

This is equivalent to choosing to clean up resources when you delete the addon:

  1. Uninstall the Helm release to ensure, all cluster-scoped resources and resources in other namespaces are cleaned up.
  2. Delete the namespace to remove all resources that are left.

Run:

helm -n syseleven-<addon name> uninstall syseleven-<addon name>

kubectl delete namespace syseleven-<addon-name>

Manage the Helm release in version control

This is the best way to continue using the addon, but manage it yourself.

  1. Store the Helm values in a file under version control
  2. Use the Helm client to upgrade the release on changes

Run:

# store the name in a variable to simplify commands
ADDON=<addon name>

NAMESPACE=syseleven-${ADDON}

kubectl -n ${NAMESPACE} get secret syseleven-${ADDON}-helm-info -o jsonpath='{.data.values}' | base64 --decode > values.yaml

HELM_REPO=$(kubectl -n ${NAMESPACE} get secret syseleven-${ADDON}-helm-info -o jsonpath='{.data.chartRepository}' | base64 --decode)
HELM_CHART_NAME=$(kubectl -n ${NAMESPACE} get secret syseleven-${ADDON}-helm-info -o jsonpath='{.data.chartName}' | base64 --decode)
HELM_CHART_VERSION=$(kubectl -n ${NAMESPACE} get secret syseleven-${ADDON}-helm-info -o jsonpath='{.data.chartVersion}' | base64 --decode)
HELM_RELEASE_NAME=syseleven-${ADDON}

helm upgrade --install -n ${NAMESPACE} ${HELM_RELEASE_NAME} --repo ${HELM_REPO} ${HELM_CHART_NAME} --version ${HELM_CHART_VERSION} -f values.yaml

Addons with a GUI

Addons that come with a user interface will no longer be available on their URL. Grafana login with Keycloak will not be possible either.
You can however create an ingress by yourself.

To be able to login to Grafana, edit the configmap syseleven-monitoring-grafana and set disable_login_form = false.

Then, restart Grafana.

You can find the admin login in the secret syseleven-monitoring-grafana.

# Edit and set disable_login_form = false
kubectl -n syseleven-monitoring edit cm syseleven-monitoring-grafana

# Restart
kubectl -n syseleven-monitoring rollout restart deployment syseleven-monitoring-grafana

# Get admin user and password
kubectl -n syseleven-monitoring get secret syseleven-monitoring-grafana -o jsonpath='{.data}'
# Decode the secret, for example:
echo 'c3lzZWxldmVuCg==' | base64 --decode

# Do a port-forward to login (if there is no ingress yet)
kubectl -n syseleven-monitoring port-forward svc/syseleven-monitoring-grafana 8080:80

Migrate to MetaKube Accelerator

For each MetaKube addon there's a MetaKube Accelerator Building Block.
Benefit from SysEleven's experience:

  • Same flexibility and more
  • Frequent updates
  • Carefully curated
  • Dependencies, version changes and migrations taken care of

If you want to switch to MetaKube Accelerator, contact SysEleven Support.