-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
kubespray offline-environment #6540
Comments
@EppO could you provide some insights ? |
Kubespray installs kubeadm/kubelet/kubectl from binaries and CNI plugins, etcd, calico, crictl... from tgz files. So you need to point kubespray to an internal webserver that hosts these files. You can use Apache, nginx, ... any webservers of your choice.
docker/containerd/crio container runtimes are installed via OS packages. You need a internal repository to store them. To create one depends on your linux distro (RPM or DEB based).
You need to store all container images pulled by kubespray in an internal container registry. This one is tricky because it depends on the configuration of your setup: network plugin, addons, etcd installed by kubeadm, ... it would be useful to write a little script that gets that list based from the inventory and kubespray defaults. Right now, you need to know what images your setup is supposed to use. Once you have that list, you can use something like Harbor or Quay or your cloud provider container registry to store them all.
You need to make sure that all python packages listed in requirements.txt are installed, you usually run
If you want to use install Helm, that means you want to install Helm charts. As you won't have access to stable charts because you're running in an air-gap environment, you need to create a Helm chart registry where you store the charts you're going to use. You can use ChartMuseum to do so |
\assign |
/assign @dprabhua |
@dprabhua Reopen this one if you are ready to add something to contrib regarding offline setup |
in kubespray/docs/offline-environment.md
I would like to ask you to indicate for each for the following why it is required and also how it can be implemented ?
Why is this needed:
This will clarify more standard way to implement and apply Kubespray widely in air-gapped enviroment
Thanks a lot
Best Regards
The text was updated successfully, but these errors were encountered: