Offline Installations
Air-Gapped / Offline / VPC Clusters
If your cluster is air-gapped, within a VPC or restricts network connectivity in other ways, you may run into issues validating the vCluster.Pro license and pulling vCluster.Pro images required for vCluster.Pro.
To solve the licensing issue, you can either use allow HTTP requests from the vCluster.Pro pod(s) to
https://admin.loft.sh/*
(this is the preferred option), or use an
offline license key.
To solve not being able ot pull images from Docker hub, you can use a private image registry to host your own copies of the vCluster.Pro image that your cluster can reach.
Offline Images
If your cluster is not able to pull images from Docker Hub, you have to push the vCluster.Pro images
into your private registry. To find out which images are required, we publish a file called
loft-images.txt
with each vCluster.Pro release.
Follow these instructions to download all vCluster.Pro and import them to your private registry:
Set the
$VERSION
variable to the vCluster.Pro version you want to upgrade to OR set it to the current version using:CHART=$(kubectl get service loft -n vcluster-pro -o jsonpath={.metadata.labels.chart})
VERSION=${CHART:5}Set your private registry as variable:
REGISTRY=ecr.io/myteam # THIS SHOULD BE A PREFIX / DO NOT INCLUDE ANY LOFT_IMAGE PATHS
Download the file
loft-images.txt
and the required scripts calleddownload-images.sh
andpush-images.sh
and make them executable:wget https://github.com/loft-sh/loft/releases/download/v${VERSION}/loft-images.txt
wget https://github.com/loft-sh/loft/releases/download/v${VERSION}/download-images.sh
wget https://github.com/loft-sh/loft/releases/download/v${VERSION}/push-images.sh
chmod +x ./download-images.sh
chmod +x ./push-images.shRun
download-images.sh
to download all images locally:./download-images.sh --image-list loft-images.txt
Run
push-images.sh
to push all downloaded images to your private registry:./push-images.sh --registry ${REGISTRY}
Edit your existing
vcluster-pro.yaml
file or create a new file namedvcluster-pro.yaml
with content:image: ${REGISTRY}/ghcr.io/loft-sh/loft:${VERSION} # Replace ${REGISTRY} and ${VERSION}
env:
DEFAULT_IMAGE_REGISTRY: ${REGISTRY} # Replace ${REGISTRY}Upgrade vCluster.Pro via:
- CLI
- helm
To upgrade vCluster.Pro via vCluster.Pro CLI, run:
vcluster pro start --upgrade --version=$VERSION --values=vcluster-pro.yaml
To upgrade vCluster.Pro via
helm
, run:helm upgrade loft vcluster-control-plane -n vcluster-pro --repository-config '' --repo https://charts.loft.sh \
--version $VERSION \
--reuse-values \
-f vcluster-pro.yaml
Offline License Key
If your cluster does not allow the vCluster.Pro pod to connect the vCluster.Pro license server
(https://admin.loft.sh/*
), you can contact sales@loft.sh to purchase
an offline license key or to request a trial license key for offline use.
You can edit vCluster.Pro install values as follows to use your offline license key:
env:
LICENSE_KEY: "YOUR_LICENSE_KEY"