Skip to main content
Version: 0.1 (next)

Install on EKS

:::note Coming after k3s validation EKS is the MVP target for Infrared, and it is supported once the install is validated end to end on k3s. The steps below are the intended path. Differences from k3s are called out. :::

Before you start​

  • An EKS cluster, Kubernetes 1.30 or later, with kubectl pointed at it and at least two nodes of m6i.large or equivalent.
  • The EKS Pod Identity Agent or IRSA configured, so the aws-load-balancer-controller Application can get AWS credentials once Argo CD syncs it.
  • helm 3.14 or later.
  • A GitHub organization you administer, and a GitHub token with read:packages for ghcr.io while images are private.

1. Create the namespace and the ghcr pull secret​

kubectl create namespace infrared

kubectl -n infrared create secret docker-registry ghcr-pull \
--docker-server=ghcr.io \
--docker-username=<github-user> \
--docker-password=<token-with-read:packages>

echo <token-with-read:packages> | helm registry login ghcr.io -u <github-user> --password-stdin

2. Install the chart​

helm install infrared oci://ghcr.io/darkshiftio/charts/infrared \
-n infrared --create-namespace \
--set 'imagePullSecrets[0].name=ghcr-pull'

The operator detects the cluster and records it as the management cluster with flavor eks. The flavor decides which components the gitops repo gets: on EKS, sync wave 10 includes aws-load-balancer-controller.

3. Read the setup token​

kubectl -n infrared get secret infrared-setup -o jsonpath='{.data.token}' | base64 -d; echo

4. Open the UI​

kubectl -n infrared port-forward svc/infrared 8080:80

Open http://localhost:8080 and continue with the setup wizard. In step 4 of the wizard, confirm that the detected flavor is eks.

Differences from k3s​

k3sEKS
Flavork3seks
Ingress and load balancersTraefik, bundled with k3saws-load-balancer-controller, sync wave 10
AWS credentials for componentsNot neededPod Identity or IRSA
StatusFirst validated targetMVP target, after k3s validation