Airctl Reference

Airctl Overview

Airctl is Platform9's On-Prem, air gapped Kubernetes orchestrator that comprises a useful command-line utility and related functions that manages the lifecycle of the Management Server in the Platform9 management plane. Additionally, it also contains auxiliary functions like:

  • DNS management: A straightforward way to ensure all the other nodes can reach the temp management plane when it starts.

  • Image management: Populating the image cache onto various nodes to avoid image fetching when the management plane is not running. This setup includes the docker images as well as RPM packages.

  • State management: starts the management plane (creates and configures it first if necessary)

  • Platform9 uses a mysql database. Airctl would help with the backup of that data. However, since we are only looking at a three-node cluster, the amount of backup data would be minimal.

  • Config File: config files describe the state of the cluster that the user wants to create and contain the pointers (ip addresses) for Kubernetes nodes and their corresponding credentials.

  • Other CLI utilities to help with backup and recovery of the ‘state'.

Airctl CLI Options

$ /opt/pf9/airctl/airctl

Usage Syntax:
  airctl [command]

Available Commands:
  advanced-du         advanced command for the Management Server configuration
  advanced-hosts      advanced command for the hosts configuration
  backup              backs up the the management plane's state to a tar.gz file
  configure-hosts     configure the hosts
  configure-localhost configures the local host's qemu hook and /etc/hosts file (requires sudo)
  configure-sso       configure sso
  gen-support-bundle  generate support bundle
  get-creds           displays the admin username (email) and initial generated password
  get-du-version      displays the Management Server's release version
  help                Help about any command
  host-status         reports the statuses of all hosts
  restore             restores the management plane from a backup
  rollback            attempts to rollback a failed management plane upgrade operation
  start               starts the management plane (creates and configures it first if necessary)
  status              reports the status of the management plane
  stop                stops the management plane if it is running
  unconfigure-du      delete the management plane's configuration state
  upgrade             upgrades a new management plane VM using specified disk
  upgrade-hosts       upgrade Platform9 agent on all hosts

Flags:
      --config string   config file (default is $HOME/airctl-config.yaml)
  -h, --help            help for airctl
      --verbose         print verbose logs to the console
  -v, --version         version for airctl

Use "airctl [command] --help" for more information about a command.

Host Configuration Options

Here is an outline of the different options which can be passed using the configure-hosts flag.

Management Cluster Configuration

Use one of the sample configuration templates below, to describe your management cluster.

Sample configuration for a single master cluster:

circle-info

Info : Tweak the following sections based on the operating system

As shown in the following example, the nodelet package on Ubuntu is named nodelet-deb.tar.gz . The masterVipInterface can be ens3 on some systems instead eth0 . This needs to be tweaked according to the networking configuration on the OS.

_ _

Sample configuration of a multi-master Centos cluster: _ _

Sample configuration of a dual-stack Centos cluster:

Airctl automatically adds a couple of required tar.gz image bundles, to upload and import into the container runtime of every node in the cluster.

This will be required if public image repositories are not available. These will be added to the systemImages section when the management cluster is created. The file names are generated based on the airctl version.

The config will look as follows in the cluster spec file. The user does not need to add this, it is added automatically.

However, if there are custom image bundles that the user does want loaded, they may use the following section to specify their bundles:

For more information, please see: https://github.com/platform9/nodelet/blob/main/nodeletctl/README.md#airgapped-user-image-bundlesarrow-up-right

Last updated

Was this helpful?