How to Install K8up


The most convenient way to install K8up is using helm.

  1. Add the appuio repository:

    helm repo add appuio
    helm repo update
  2. Install K8up:

    kubectl create namespace k8up-operator
    helm install k8up appuio/k8up --namespace k8up-operator


The following installs Kustomize in the k8up-system namespace with default values.

kubectl apply -k config/default

If you wish to customize manifests, you need to create a new directory with kustomization.yaml. The following example sets another namespace and adds the RBAC auth proxy for the metrics (if you want to restrict the metrics from public access).


namespace: my-custom-namespace

- target:
    group: apps
    version: v1
    kind: Deployment
    name: operator
  patch: |-
    - op: add
      path: "/spec/template/spec/containers/-"
        name: kube-rbac-proxy
        - "--secure-listen-address="
        - "--upstream="
        - "--logtostderr=true"
        - "--v=10"
        - containerPort: 8443
          name: https

Then you can build with Kustomize:

kustomize build my-custom-k8up-dir | kubectl apply -f -
The Kustomize version included in kubectl -k is often several versions behind Kustomize itself. It may not support advanced features such as directly referencing a Git repository with path and ref to import manifests.


Some K8up examples are located at config/samples/ in the K8up repository:

kubectl apply -k config/samples/

Please be aware that these manifests are intended for dev and as examples.