Kubernetes Cluster (K8s) Install Preparation

This is a guide to help you prepare your existing Kubernetes cluster for installing the Arthur platform. The examples use Helm 3.

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

Install Prometheus.


helm repo add \
  prometheus-community \
helm repo update
helm upgrade --install -n monitoring \
  --create-namespace \
  kube-prometheus-stack \
  prometheus-community/kube-prometheus-stack \
  --set prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false
helm upgrade --install -n monitoring \
  --create-namespace \
  prometheus-adapter \

Verify that Prometheus CRDs are installed:

kubectl api-resources | grep monitoring

Install Ingress.

Example with Nginx:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm upgrade --install -n ingress-system \
  --create-namespace \
  ingress-nginx \

Look up the ingress external IP and configure your hostname with DNS (e.g. arthur.mydomain.com).

kubectl get svc -n ingress-system ingress-nginx-controller -ojsonpath='{.status.loadBalancer.ingress[*].hostname}'

Install Metric Server.


helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm upgrade --install -n monitoring \
  --create-namespace \
  metrics-server \
  bitnami/metrics-server \
  --set apiService.create=true \
  --set extraArgs.kubelet-preferred-address-types=InternalIP

Verify that you can retrieve metric snapshots.

kubectl top node