To deploy Kubernetes in air-gapped environment (environment with no connectivity) using Kublr Demo/Installer, please use your Kublr license number or request the Kublr evaluation license via email at contact@kublr.com or the schedule demo form.
Additionally, you need to download the BASH scripts from https://repo.kublr.com
You also need to download Helm package archives and Kublr Control Plane Docker images:
Also you need to download BASH scripts for supported Kubernetes versions as described below.
You need to download required Kublr Agent components files based on Kubernetes version:
All the provided scripts are checked for use with the Sonatype OSS Nexus. If you are using a different repository, you might need to modify the given scripts.
In this example we will use the following local repository installation based on Sonatype OSS Nexus as described Nexus Repository Installation
Component Name | Node Type | Default Storage Path | Owner UID | Minimum Disk Size |
---|---|---|---|---|
ETCD | master | /mnt/master-pd | 0 | 4G |
Elasticsearch data node | node | /var/lib/kublr/elasticserach/data | 1000 | 128G |
Elasticsearch master node | node | /var/lib/kublr/elasticserach/master | 1000 | 4G |
Grafana | node | /var/lib/kublr/grafana | 0 | 1G |
MongoDB | node | /var/lib/kublr/mongodb | 1001 | 8G |
MySQL DB | node | /var/lib/kublr/mysql | 999 | 8G |
Prometheus | node | /var/lib/kublr/prometheus | 0 | 25G |
RabbitMQ | node | /var/lib/kublr/rabbitmq | 999 | 3G |
Please refer to Nexus Repository Installation and then to Nexus Repository Configuration for example repository setup.
In this example, 192.168.3.8 is the IP address of the local RAW and docker repositories. You will need to change this to your repository IP or DNS name. You refer to Nexus Repository Installation and then to Nexus Repository Configuration for example repository setup.
Use the downloaded files on external media or download SHELL scripts and run them as is. All necessary archives will be downloaded automatically. Internet access is required.
Upload archives with Kublr agent and Helm packages
$ bash kublr-agent-load-gobins-1.26.4-2.sh http://192.168.8.36:8081/repository/raw/
Upload kublr-agent-1.26.4-2.tar.gz to local repo:
######################################################################## 100.0%
$ bash kublr-load-helm-1.28.1.sh http://192.168.8.36:8081/repository/raw/
Processing kublr-helm-1.28.1.tar.gz:
######################################################################## 100.0%
cleaning...
Login to your Docker repository
$ docker login --username admin --password admin123 192.168.3.8:5000
Push Kublr Control Plane Docker images into your Docker registry
$ bash kublr-controlplane-load-images-1.28.1.sh 192.168.3.8:5000
Push Kublr Agent Docker images into your Docker registry
$ bash kublr-agent-load-images-1.26.4-2.sh 192.168.3.8:5000
In order to use Kublr you need to run Kublr Demo/Installer with access to Air-Gapped networks. After preparations described before no internet access is needed.
Specify the addresses of repositories to store artifacts. Please also determine the address of the Docker repository when you run Kublr Demo/Installer.
export HELM_REPOSITORY=https://192.168.3.8:8081/repository/raw
export KUBLR_AGENT_REPOSITORY=https://192.168.3.8:8081/repository/raw
export DOCKER_REGISTRY=192.168.3.8:5000
export KUBLR_VERSION=1.28.1
export KUBLR_LICENSE=<your-kublr-license-number>
docker run -p 9080:9080 -d --restart=unless-stopped --name kublr \
-e SKIP_TLS_VERIFY=true \
-e HELM_REPOSITORY=${HELM_REPOSITORY} \
-e KUBLR_AGENT_REPOSITORY=${KUBLR_AGENT_REPOSITORY} \
-e KUBLR_LICENSE=${KUBLR_LICENSE} \
${DOCKER_REGISTRY}/kublr/kublr:${KUBLR_VERSION}
After that Kublr Bootstrapper (Demo/Installer) should be accessible using URL “https://{Kublr-Demo-Installer-IP}:9080/” - replace “{Kublr-Demo-Installer-IP}” with the actual IP address or hostname of your Kublr Bootstrapper (Demo/Installer).
Creating a cluster in your machine network is simple. Use your machine’s IP address for this network. If you don’t know how to get the IP address, contact your system administrator or read your OS manual.
To install Kublr clusters in a different network on complex network topologies, provide the IP address of your machine on that network.
Open the Kublr Bootstrapper (Demo/Installer) UI by accessing the following URL in your web browser: “https://{Kublr-Demo-Installer-IP:9080/}”. Replace “{Kublr-Demo-Installer-IP}” with the actual IP address or hostname of your Kublr Bootstrapper (Demo/Installer) that has been determined earlier.
In section “Credentials”, create the following credentials:
Click create cluster or platform.
In KCP create mode, expand Advanced options and override docker repository. Besides default, you can override:
Override binary repository. Besided default, you can override:
In last step, click “Customize Specification” and add the following configuration:
features:
controlPlane:
helmRepositorySecretRef: BINARY_REGISTRY_NAME
Where BINARY_REGISTRY_NAME should be replaced with the name of configured binary registry in section “Credentials” of Kublr Bootstrapper (Demo/Installer) UI
For more detail see On-Premises Installation
More info: Docker images customization