AWS EKS

This page provides instructions on how to deploy to AWS Kubernetes (EKS)

Installation Overview

You will be performing the following:

  1. Creating a Kubernetes cluster with a private/public VPC using Terraform templates.

  2. Prerequisites: AWS CLI v2 installed and configured

  3. Terraform installed.

Install Guide

Step 1 - Set up infrastructure

This repository includes all the automation to install the app

git clone https://github.com/kaytu-io/automation
cd infrastructure/aws

Run the following and it will create Kubernetes Cluster with a Private/Public VPC.

terraform init
terraform plan
terraform apply -auto-approve

It will take approx 10-20 minutes for this complete. The output will include name of the Kubernetes Cluster:

Run the CLI to gain access to the Cluster

aws eks --region  update-kubeconfig --name 

Step 2 - Deploy the App

a. Create a namespace

Use a separate namespace instead of relying on the default namespace. The default namespace might already have other applications running, which can lead to conflicts and other potential issues.

Create a namespace

kubectl create namespace og

b. Install App

Add the helm repo

helm repo add grafana https://grafana.github.io/helm-charts

Run the following command to update the repository to download the latest Helm charts:

helm repo update

Run the following command to deploy the app inside your namespace:

helm install my-app grafana/grafana --namespace og

Step 3 - Expose the app

Run the following port forwarding command to direct the Grafana pod to listen to port 80:

kubectl port-forward -n og svc/nginx-proxy 8080:80
  1. Navigate to 127.0.0.1 in your browser.

  2. To sign in, enter admin@example.com and passwordand as password