Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation about how to install Kubeapps offline #1766

Merged
merged 2 commits into from
Jun 4, 2020

Conversation

andresmgot
Copy link
Contributor

Description of the change

Follow up of #1751. Documentation of how to install Kubeapps in an air-gapped environment.


```bash
wget -P charts/ https://charts.bitnami.com/bitnami/mongodb-7.10.10.tgz
wget -P charts/ https://charts.bitnami.com/bitnami/postgresql-8.9.1.tgz
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume you're intentionally doing this without the helm cli which would pull the correct versions for you? Hmm, though later you're using helm for the install anyway, so given you're assuming both network here and having the helm cli (later) couldn't the above 3 steps (and manual checking for correct versions) be adjusted to be: (using 3.6 since it's available now, just to demo)

helm pull --untar https://charts.bitnami.com/bitnami/kubeapps-3.6.0.tgz
helm dep update ./kubeapps

and updating below to install kubeapps from the directory?

Note, doing the above results in the following chart deps downloaded:

ls -l kubeapps/charts 
total 72
drwxr-xr-x 4 michael michael  4096 Jun  4 11:04 mongodb
-rw-r--r-- 1 michael michael 25913 Jun  4 11:04 mongodb-7.14.5.tgz
drwxr-xr-x 5 michael michael  4096 Jun  4 11:04 postgresql
-rw-r--r-- 1 michael michael 33358 Jun  4 11:04 postgresql-8.10.5.tgz

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right, I wanted to keep this helm free for downloading stuff but it's true that it's easier that way

tag: 1.17.10-debian-10-r10
```

For this guide I am using [Kubernetes in Docker (`kind`)](https://github.com/kubernetes-sigs/kind) so depending on your cluster provider, this process will change. In this case, it's enough to pull the image and load it with `kind`:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth being clear that kind load is just ensuring the image is already available on the (single) k8s node. If you did this with another cluster, you'd need to ensure it was present on all nodes, I think? I haven't looked for docs for AWS/GKE for how to do that, but it'd be worth checking to include links here and being sure it's straight forward before we recommend this option.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well, there are many options, from loading the images in the node to use a private registry as you say. I didn't want to cover all the use cases but I will make it clear that we are using a single node cluster.

kind load docker-image bitnami/nginx:1.17.10-debian-10-r10
```

You will need to follow a similar process for every image present in the values file.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure of the worth of recommending this method, given that it'll break if k8s has to relocate a pod to another (new) node. Wouldn't it be fair to assume that users in such an env would have access to an internal docker registry? (artifactory, harbor, whatever), in which case they should be pushing the images there and updating the registry/repository values?

Ah - or perhaps the cluster has no egress during installation / setup but does later? It might be worth noting this assumption (and that it'll break without it, and people would be better off using an internal registry)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, yes, adding both possibilities

@andresmgot andresmgot merged commit 8127d59 into master Jun 4, 2020
@andresmgot andresmgot deleted the offlineDocs branch September 8, 2020 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants