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

Airgap Kubernetes Cluster (K8s) Install

Ensure your K8s cluster is ready for Arthur platform installation by following Installing Arthur Pre-requisites guide.

Preparing Container Registries

Prepare your private container image registry for Arthur artifacts by creating the following list of repositories:

Admin Console:

arthurai/dex
arthurai/kotsadm
arthurai/kotsadm-migrations
arthurai/local-volume-fileserver
arthurai/local-volume-provider
arthurai/minio
arthurai/postgres

Application:

arthurai/alert-service
arthurai/alpine
arthurai/api-service
arthurai/argocli
arthurai/argoexec
arthurai/aws-cli
arthurai/beta-client
arthurai/busybox
arthurai/clickhouse-operator
arthurai/clickhouse-server
arthurai/client
arthurai/cp-kafka
arthurai/cp-kafka-connect
arthurai/cp-schema-registry
arthurai/cp-zookeeper
arthurai/custom-hpa
arthurai/dataset-service
arthurai/ingestion-service
arthurai/kafka-connect-monitor
arthurai/kafka-exporter
arthurai/kafka-prometheus-jmx-exporter
arthurai/kubectl
arthurai/mc
arthurai/metric-service
arthurai/metrics-exporter
arthurai/minio
arthurai/model-server
arthurai/model-server-controller
arthurai/postgresql
arthurai/python-jobs
arthurai/python-spark-jobs
arthurai/pytorch-jobs
arthurai/query-service
arthurai/redis
arthurai/scala-spark-jobs
arthurai/schema-service
arthurai/workflow-controller
arthurai/zookeeper-exporter

As an example, here's how you can create a new arthurai/alert-service repository on AWS ECR.

export AWS_REGION=<your_region>
aws ecr create-repository --repository-name=arthurai/alert-service

Download Installation Files

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

Select the "Bring my own cluster" option

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

Download the "KOTS Airgap Bundle" and the "arthur Airgap Bundle".

Setup for Installation

Make sure you're in the correct kubectl environment context before running the installer.

kubectl config current-context

Install the KOTS kubectl extension on your local machine:

curl https://kots.io/install | bash

If the Linux workstation you're running kubectl from is also in the airgap environment; download the "KOTS CLI" from the download portal and install it like below:

tar zxf kots_linux_amd64.tar.gz
# move it to a location that's on your path
sudo mv kots /usr/local/bin/kubectl-kots

📘

The "KOTS CLI" and "KOTS Airgap Bundle" must be installed at the same time and therefore will be on the same version.

If your workstation is a Mac, you can download the latest Kots CLI Darwin binary version from https://kots.io/.

Start Installation

Push the Admin Console images to your private registry:

kubectl kots admin-console push-images ./kotsadm.tar.gz [Your private registry host]/arthurai \
  --registry-username [Read-Write Username] \
  --registry-password [Read-Write Password]

As an option, you can also pre-upload the application images to your private registry before running the installer:

kubectl kots admin-console push-images ./arthur-x.x.x.airgap [Your private registry host]/arthurai \
  --registry-username [Read-Write Username] \
  --registry-password [Read-Write Password]

Install the Admin Console (see here for {doc}Namespace-Scoped Installs <k8s_install_namespace_scoped>):

kubectl kots install arthur \
  --no-port-forward \
  --namespace arthur \
  --shared-password [Provide an Admin Console password] \
  --kotsadm-namespace arthurai \
  --kotsadm-registry [Your private container image repository] \
  --registry-username [Read-Write Username] \
  --registry-password [Read-Write Password]

Create a port forwarding tunnel to Admin Console. Go to http://localhost:8800 to access the Admin Console:

kubectl kots admin-console --namespace arthur

Follow the instructions on the Admin Console to complete your installation by providing the private registry details and arthur-x.x.x.airgap bundle.

📘

The upload process can take couple of hours so ensure your laptop does not go to sleep.

You may follow the instructions Airgap Kubernetes Cluster (K8s) Install with CLI to install the Admin Console and Arthur app programmatically using the CLI only

Configure Arthur.

Verify Installation

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

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

kubectl get deployment,statefulset,pod -n arthur

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

Customize Installation

Configure graphs on Admin Console by clicking on the Configure Prometheus Address button and providing your Prometheus endpoint (e.g.,http://kube-prometheus-stack-prometheus.monitoring.svc.cluster.local:9090).