Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

For RHEL, K3s needs the following package to be installed: k3s-selinux (repo rancher-k3s-common-stable) and its dependencies container-selinux (repo rhel-8-appstream-rhui-rpms) and policycoreutils-python-utils (repo rhel-8-baseos-rhui-rpms). On systems without access to online repositories, the corresponding *.rpm package for each of the above dependencies should be copied to the server first and installed locally.
Also, firewalld nm-cloud-setup.service and nm-cloud-setup.timer must be disabled and the server restarted before the installation, click .
Click here for more information.

The steps below you guide you through the air-gap installation of K3s, a lightweight Kubernetes distribution created by Rancher Labs:

  1. Extract the downloaded file: tar -xf gv-platform-$VERSION.tar

  2. Prepare K3s for air-gap installation:

    Code Block
    languagebash
    # mkdir -p /var/lib/rancher/k3s/agent/images/
    # gunzip -c assets/k3s-airgap-images-amd64.tar.gz > /var/lib/rancher/k3s/agent/images/airgap-images.tar
    # cp assets/k3s /usr/local/bin && chmod +x /usr/local/bin/k3s
    # tar -xzf assets/helm-v3.8.2-linux-amd64.tar.gz
    # cp linux-amd64/helm /usr/local/bin
  3. Install K3sBefore installation, it’s recommended to run automatic checks (as root; PRODUCT_NAME is either “enterprise” or “synergy” or “focus“):

    bash
    Code Block
    language
    # cat scripts/k3s.sh | INSTALL_K3S_PRODUCT_NAME=enterprise ONLY_PRECHECK=true bash -


    Install K3s:

    Code Block
    languagebash
    # cat scripts/k3s.sh | INSTALL_K3S_SKIP_DOWNLOAD=true K3S_KUBECONFIG_MODE="644" SKIP_NETWORK_CHECKS=true sh -s - server --node-name=local-01
Info

Few more arguments that can be used to customize the execution of the k3s script:
SKIP_PRECHECK=true to skip the execution of the precheck script while installing k3s service

SKIP_SYSTEM_CHECKS=true to skip the system hardware checking during precheck

SKIP_NETWORK_CHECKS=true to skip the system network connectivity checking during precheck

Example:

cat scripts/k3s.sh | INSTALL_K3S_SKIP_DOWNLOAD=true

...

SKIP_PRECHECK=true

...

K3S_KUBECONFIG_MODE="644"

...

sh

...

-s

...

-

...

server

...

--node-name=local-01

  1. Wait for the 30s and check if K3s is running with the command: kubectl get pods -A and systemctl status k3s.service

Import Docker images

The steps below will manually deploy the necessary images to the cluster.

...

Info

Replace $VERSION with the version that is present in the bundle that has been downloaded.
To check all the charts that have been download run ls charts.

Replace IPADDRESS/DNS/FQDN with IP Adress or FQDN or DNS name for Keycloak in formats like below
https://192.168.10.1 or https://gv.domain.local or https://gv.getvisibility.com

  1. Install Getvisibility Essentials and set the daily UTC backup hour (0-23) for performing backups.

    Code Block
    # helm upgrade --install gv-essentials charts/gv-essentials-$VERSION.tgz --wait \
    --timeout=10m0s --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --set backup.hour=1 \
    --set eck-operator-operator.enabled=true \
    --set updateclusterid.enabled=truefalse \
    --set updateclusteridkeycloak.enabled=falseurl= IPADDRESS/DNS/FQDN
  2. Install Monitoring CRD:

    Code Block
    # helm upgrade --install rancher-monitoring-crd charts/rancher-monitoring-crd-$VERSION.tgz --wait \
    --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --namespace=cattle-monitoring-system \
    --create-namespace
  3. Install Monitoring:

    Code Block
    # helm upgrade --install rancher-monitoring charts/rancher-monitoring-$VERSION.tgz --wait \
    --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --namespace=cattle-monitoring-system \
    --set k3sServer.enabled=true \
    --set k3sControllerManager.enabled=true \
    --set k3sScheduler.enabled=true \
    --set k3sProxy.enabled=true \
    --set prometheus.retention=5--set prometheus.retention=5
Info

To expose Grafana via an ingress on the path /grafana (allowing access through https://IPADDRESS_or_DNSNAME/grafana), add the following flag to the monitoring installation command:

Code Block
--set global.grafana_ingress.enabled=true
  1. Check all pods are Running with the command: kubectl get pods -A

Install Focus/Synergy Helm Chart

...

  1. Install Getvisibility Essentials and set the daily UTC backup hour (0-23) for performing backups.
    If you are installing Focus or Enterprise append --set eck-operator.enabled=true to the command in order to enable ElasticSearch.

    Code Block
    $ helm upgrade --install gv-essentials charts/gv-essentials-$VERSION.tgz --wait \
    --timeout=10m0s --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --set global.high_available=true \
    --set eck-operator.enabled=true  \
    --set minio.replicas=4 \
    --set minio.mode=distributed \
    --set consul.server.replicas=3 \
    --set updateclusterid.enabled=false \
    --set backup.hour=1
  2. Install Monitoring CRD:

    Code Block
    $ helm upgrade --install rancher-monitoring-crd charts/rancher-monitoring-crd-$VERSION.tgz --wait \
    --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --namespace=cattle-monitoring-system \
    --create-namespace
  3. Install Monitoring:

    Code Block
    $ helm upgrade --install rancher-monitoring charts/rancher-monitoring-$VERSION.tgz --wait \
    --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --set global.high_available=true \
    --namespace=cattle-monitoring-system \
    --set loki-stack.loki.replicas=2 \
    --set prometheus.prometheusSpec.replicas=2
Info

To expose Grafana via an ingress on the path /grafana (allowing access through https://IPADDRESS_or_DNSNAME/grafana), add the following flag to the monitoring installation command:

Code Block
--set global.grafana_ingress.enabled=true
  1. Check all pods are Running with the command:
    kubectl get pods -A

Install Focus/Synergy Helm Chart

...

Info
  1. Import Docker images only to the Master1 node

  2. In the case of HA deployment, Recreate and redeploy the imagecache.yaml file
    https://getvisibility.atlassian.net/wiki/spaces/GSKBTES/pages/148242433227540993/Air+Gap+Installation#Install-Kube-fledged: Perform the 2nd Step

GetVisibility Essentials Helm Chart

...

Info
  1. Import Docker images only to the Master1 node

  2. In the case of HA deployment, Recreate and redeploy the imagecache.yaml file
    https://getvisibility.atlassian.net/wiki/spaces/GSKBTES/pages/148242433227540993/Air+Gap+Installation#Install-Kube-fledged: Perform the 2nd Step

Install custom artifacts

...