Install Requirements

K10 can be installed in a variety of different environments and on a number of Kubernetes distributions today. To ensure a smooth install experience, running the pre-flight checks and ensuring that the prerequisites are met is highly recommended.

Pre-Flight Checks

Assuming that your default kubectl context is pointed to the cluster you want to install K10 on, you can run pre-flight checks by deploying the primer tool. This tool runs in a pod in the cluster and does the following:

  • Validates if the Kubernetes settings meet the K10 requirements.

  • Catalogs the available StorageClasses.

  • If a CSI provisioner exists, it will also perform a basic validation of the cluster's CSI capabilities and any relevant objects that may be required. It is strongly recommended that the same tool be used to also perform a more complete CSI validation using the documentation here.

Note that this will create, and clean up, a ServiceAccount and ClusterRoleBinding to perform sanity checks on your Kubernetes cluster.

Run the following command to deploy the the pre-check tool:

$ curl https://docs.kasten.io/tools/k10_primer.sh | bash

To run the pre-flight checks in an air-gapped environment, use the following command:

$ curl https://docs.kasten.io/tools/k10_primer.sh | bash /dev/stdin -i repo.example.com/k10tools:|version|

Note

Follow this guide to prepare K10 container images for air-gapped use.

Prerequisites

  • The Helm package manager (v3.0.0+) and the Kasten Helm charts repository is required. Installing K10 via helm will also automatically create a new Service Account to grant K10 the required access to Kubernetes resources. If a pre-existing Service Account needs to be used, please follow these instructions.

    Add the Kasten Helm charts repository using:

    $ helm repo add kasten https://charts.kasten.io/
    

    You need to create the namespace where Kasten will be installed. By default, the documentation uses kasten-io.

    $ kubectl create namespace kasten-io
    
  • K10 assumes that the default storage class for is backed by SSDs or similarly fast storage media. If that is not true, please add the following option to the K10 Helm install commands to specify a performance-oriented storage class.

    --set global.persistence.storageClass=<storage-class-name>
    

K10 Image Source Repositories

Here is the list of all the repositories that are used to deploy K10.

  • docker.io/grafana

  • docker.io/jimmidyson

  • gcr.io/kasten-images

  • ghcr.io/kanisterio

  • quay.io/prometheus

  • registry.access.redhat.com/ubi8