Product DocumentationAPI and Python SDK ReferenceRelease Notes
Schedule a Demo
Schedule a Demo

Virtual Machine Installation

This section covers the steps required for installing Arthur on a virtual machine (VM). We have included separate steps required for online and air-gapped installations.
The VM installs are not recommended for production-grade deployments. They are great for development and testing purposes.

Online Virtual Machine (VM) Install

Go to the download portal using the URL and the password provided by Arthur.

Click the "Download license" button to download your license in YAML file.

SSH into your virtual machine (VM) and run the command below to install the Admin Console:

curl -sSL https://k8s.kurl.sh/arthur | sudo bash

Log in to the Admin Console at <yourhost>:8800 using the provided password in the install output.

Follow the instruction to set up your secure connection with TLS certificate.

Upload your license file.

Provide your configurations

Review the preflight checks to ensure that your machine meets the minimum requirements before proceeding with the installation.

Monitor the dashboard for the application status to become Ready.

To see the progress of the deployment, monitor the deployment status with kubectl CLI:

# Reload your shell if you haven't
bash -l

kubectl get deployment,statefulset,pod -n <yournamespace>

If anything is showing Pending, it is likely you need to add more/bigger nodes to your cluster.

When using kubectl, you might run into a permission issue loading the kubernetes/admin.conf file. Please remediate it by running the command below.

sudo chmod +r /etc/kubernetes/admin.conf

Airgap Virtual Machine (VM) Install

Go to the download portal using the URL and the password provided by Arthur.

Select the "Embedded cluster" option

Click the “Download license” button to download your license in the YAML file.

Download the "Latest kURL embedded install" and the "Latest Arthur Airgap bundle".

Preparing the embedded cluster

Arthur leverages Kubernetes as the base. This step installs the base Kubernetes cluster and Arthur's Admin Console
on your VM with a single CLI command.

First, upload the kURL embedded install bundle on your VM instance.
Example:

scp -i mykey.pem ~/Downloads/arthur.tar.gz ubuntu@hostname:arthur.tar.gz

Unpack the bundle and install the embedded Kubernetes cluster on your VM instance.

tar xvf arthur.tar.gz
cat install.sh | sudo bash -s airgap

Save the output from the install, including the Kotsadm Admin Console URL and the password.
You now have a K8s cluster, kubectl CLI, and the Admin Console installed on your VM.

Deploying the application to the embedded cluster

Load the Admin Console UI on port 8800 from your browser using the Kotsadm URL and the password you recorded earlier.
Follow the instructions on the Admin Console to complete your installation by providing the arthur-x.x.x.airgap bundle and necessary configurations.

Monitor the Admin Console dashboard for the application status to become Ready.

To see the progress of the deployment, monitor the deployment status with kubectl CLI on the VM:

# Reload your shell if you haven't
bash -l

kubectl get deployment,statefulset,pod

If anything is showing Pending, it is likely you need to add more/bigger nodes to your cluster.

Note: You may also follow the instructions {doc}here <vm_install_airgapped_cli> to install the Admin Console and Arthur app programmatically using the CLI only.

Airgap Virtual Machine (VM) Install with CLI

If you prefer to install programmatically using CLI only, follow the steps below.

Upload the license file and the arthur-x.x.x.airgap bundle on your VM instance.

Example:

scp -i mykey.pem ~/Downloads/Test\ Customer.yaml ubuntu@hostname:license.yaml
scp -i mykey.pem ~/Downloads/arthur-x.x.x.airgap ubuntu@hostname:arthur-x.x.x.airgap

Create a config.yaml file on the VM instance using {doc}the configuration template </platform-management/reference/config_template>.

Run this install command from your VM's SSH session:

    kubectl kots install arthur \
      --airgap-bundle ./arthur-x.x.x.airgap \
      --license-file ./license.yaml \
      --config-values ./config.yaml \
      --namespace arthur \
      --shared-password [The Kotsadm password you saved earlier]