Air-Gapped Install

For environments that are connected to the Internet, one needs access to two repositories to install K10:

  • The Helm repository that contains the K10 chart
  • The container registry that contains the K10 container images

However, if an air-gapped installation is required, it is possible to use your own private container registry to install K10. While this can always be done manually, we have created the k10offline tool to make it easier to automate the process.

Obtaining the K10 Version

The below commands require the version of K10 being installed. If you just want the latest version, you can execute the following to discover the version number (listed under the CHART VERSION column):

helm repo update
helm search kasten/k10

Preparing K10 Container Images for Air-Gapped Use

List K10 Container Images

If you want to see the list of images used by the current K10 version, you can run the following command. This can be helpful if you prefer to tag and push K10 images into your private repository manually instead of using the Kasten provided tool.

docker run --rm -it<k10-version> list-images

Local Pull of all K10 Container Images

The following command will execute the k10offline tool and use docker-in-docker (via docker.sock) to download all K10 images into your local repository.

docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock \<k10-version> pull images

Move K10 Images Into a Private Repository

Finally, to completely automate the download and re-upload of K10 container images, the following command will pull all K10 images into your local repository, re-tag them for repository and push them to this specified repository. Note that this tool will use your local docker config if the private repository requires authentication.

docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock \
    -v ${HOME}/.docker:/root/.docker \<k10-version> pull images --newrepo

Note that running this command will also print a helpful set of Helm settings for installing K10 via images.

Air-Gapped K10 Installation

Fetching the Helm Chart for Local Use

To fetch the K10 Helm chart for local use, the following command will pull the latest K10 chart as a compressed tarball (.tgz) file into the working directory.

helm repo update
helm fetch kasten/k10

Getting Helm Configuration for a Private Repository

If you have uploaded all the required K10 container images to, the following command will generate you a helm settings to deploy K10.

docker run --rm -it<k10-version> chart-settings \

Please use the following --set options for the K10 helm chart:
--set \
--set<version> \
--set<version> \
--set \

Installing K10 with Local Helm Chart and Container Images

Finally, you can install K10 with provided settings from the above step:

helm install k10-<k10-version>.tgz --name k10 --namespace kasten-io \
    --set \
    --set<version> \
    --set<version> \
    --set \