Karbon Airgap (dark site) FAQ and Guide

  • 13 August 2020
  • 3 replies

Userlevel 3
Badge +2


  1. What is the Airgap feature?

Airgap feature is useful for customers in a dark site environment without Internet access or with relatively low Internet bandwidth that would like to use Karbon. Up until the introduction of the Airgap feature, Karbon was only available with sites connected to the Internet. The Airgap feature is also helpful for customers that face Karbon cluster deployment timeouts due to slow image pull speeds.


  1. When was the Airgap feature introduced?

Karbon version 2.0.


  1. How to enable Airgap mode for Karbon?

Please refer to Karbon Admin Guide (here) for the latest instructions. As of Karbon 2.0: Karbon Airgap is enabled via karbonctl. The overview of the process of Karbon 2.0, is as follows:

  1. The Airgap bundle is downloaded from the Nutanix Portal and extracted to a directory on a web server accessible from Prism Central.

  2. Using karbonctl, perform a login to authenticate with the Prism Central username and password. Logging in prevents the need to repeatedly provide the login information for each karbonctl command.

  3. Using karbonctl, enable Airgap, which deploys a registry VM on the cluster. This VM hosts the Kubernetes software components required to deploy and upgrade the Kubernetes cluster. Please ensure DHCP is not used, as the IP address needs to remain static.  (An AHV network with IPAM is recommended.)

  4. Once enabled, any Kubernetes cluster deployments or upgrades henceforth will use the software hosted in the registry VM.


  1. Even after following Airgap instructions, if not able to enable via karbonctl, what should be done?

Please follow the troubleshooting guide in the Solution Section.


  1. Can Airgap be disabled once enabled?

Disabling Airgap is possible only after removing any existing Karbon clusters that were deployed after Airgap was enabled. Please ensure to remove any Karbon cluster deployed post-airgap enablement and contact Nutanix Support for further steps. In future Karbon versions, it is expected that this process will be documented for use by end-users.


Starting with Karbon 2.0.0, Airgap cannot be disabled as long as there any existing k8 clusters, Airgap, or not. 


Troubleshooting Scenarios

Karbon Airgap feature can potentially fail at different stages:

  1. Upgrading the karbon_core and karbon_ui components to 2.0 or higher via LCM dark site server.

  2. Enabling airgap mode (including deploying the Airgap VM).

  3. Deployment and upgrade of Karbon clusters and/or host images once Airgap is enabled.


Scenario 1: Karbon upgrade failure via LCM dark site bundle

One of the first steps is to upgrade Karbon to at least 2.0 via the LCM dark site bundle process. If there is a failure at this stage, it is recommended to begin with the investigation on the LCM component. Perform the following basic sanity checks:

  1. Confirm that the Prism Central VM(s) can reach the webserver URL and the path provided in the URL from where the dark site bundle was extracted.

  2. Confirm that both the LCM dark site bundle and Karbon's LCM dark site bundle were extracted into the same parent directory on the webserver.

  3. Confirm that both Nutanix "compatibility" files in the webserver path were replaced with the two compatibility files from the Karbon software download page on the Nutanix Portal.

  4. Once the previous steps have been confirmed, troubleshoot the issue via the LCM and genesis logs.

    1. genesis.out
      One of the most important logs when it comes to troubleshooting LCM is genesis logs on the Prism Central VM:
      nutanix@PCVM~$ less /home/nutanix/data/logs/genesis.out

    2. lcm_ops.out
      This is the module's inventory/update operation log. This is created only on the Prism Central VM that acts as the LCM leader:
      nutanix@PCVM~$ less /home/nutanix/data/logs/lcm_ops.out

    3. lcm_wget.log

Logs pertaining to downloads from the webserver URL to the cluster:

nutanix@PCVM~$ less /home/nutanix/data/logs/lcm_wget.log

  1. lcm_leader (in the case of Prism Central scale-out)
    The lcm_leader command is used to find the Prism Central VM that is the LCM leader. In a Prism Central scale-out setup, the LCM leader is responsible for initiating the upgrade:

nutanix@PCVM~$ lcm_leader

For more scenarios and information, please refer to the following documentation:


3 replies

Userlevel 2
Badge +3


Although we have managed to upgrade Karbon to 2.2.0 (w AirGap) when we try to deploy a k8s cluster in the “Name & Environment” section it gets stuck on the “Kebernetes version ?” field.


When we try to enter data there it errors with:  No data available (tried numerics like 0.7, 1.14 thru 1.17)…

We used AirGap 2.2.0 from LCM via CentOS v7 b1810.


Any ideas?



Did you ever find a fix for this?

I am having the same exact issue and am getting nowhere.