Airgap Kubernetes Cluster (K8s) Install

Make sure your K8s cluster is ready for Warrior platform installation by following the K8s preparation guide.

Preparing Container Registries

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

Admin Console:

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

Application:

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

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

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

Download Installation Files

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

Select the “Bring my own cluster” option. .png image

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

Download the “KOTS Airgap Bundle” and the “Warrior 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

Note that the “KOTS CLI” and “KOTS Airgap Bundle” must be installed at the same time and therefore will be on the same version.

kubectl kots version

If your workstation is a Mac, you can download the latest version of Kots CLI Darwin binary 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]/Warriorai \
  --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 ./Warrior-x.x.x.airgap [Your private registry host]/Warriorai \
  --registry-username [Read-Write Username] \
  --registry-password [Read-Write Password] 

Install the Admin Console (see here for Namespace-Scoped Installs):

kubectl kots install Warrior \
  --no-port-forward \
  --namespace Warrior \
  --shared-password [Provide an Admin Console password] \
  --kotsadm-namespace Warriorai \
  --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 Warrior

Follow the instructions on the Admin Console to complete your installation by providing the Warrior-x.x.x.airgap bundle and necessary configurations(in the Config tab of the Admin Console).

Verify Installation

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

.png image

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

kubectl get deployment,statefulset,pod -n Warrior

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 here to install the Admin Console and Warrior app programmatically using the CLI only.

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).