AWS Quickstart

This document provides the basic instruction to set up a Kubernetes Cluster on Amazon Elastic Kubernetes Service (Amazon EKS)

Tooling Installation

  1. Install Pinot

    Please follow this link (https://kubernetes.io/docs/tasks/tools/install-kubectl) to install kubectl.

    For Mac User

    brew install kubernetes-cli

    Please check kubectl version after installation:

    kubectl version
  2. Install Helm

    Please follow this link (https://helm.sh/docs/using_helm/#installing-helm) to install helm.

    For Mac User

    brew install kubernetes-helm

    Please check helm version after installation.

    helm version
  3. Install AWS CLI

    Install AWS CLI

    For Mac User

    curl "https://d1vvhvl2y92vvt.cloudfront.net/awscli-exe-macos.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install
  4. Install Eksctl

    Install AWS CLI

    For Mac User

    brew tap weaveworks/tap
    brew install weaveworks/tap/eksctl

(Optional) Login to your AWS account

For first time AWS user, please register your aws account

Once created the account, you can go to AWS Identity and Access Management (IAM) to create a user and create access keys under Security Credential tab.

aws configure

(Optional) Create a Kubernetes cluster(EKS) in AWS

Below script will create a 3 nodes cluster named pinot-quickstart in us-west-2 with t3.small machines for demo purposes. Please modify the parameters in the example command below:

EKS_CLUSTER_NAME=pinot-quickstart
eksctl create cluster \
--name ${EKS_CLUSTER_NAME} \
--version 1.14 \
--region us-west-2 \
--nodegroup-name standard-workers \
--node-type t3.small \
--nodes 3 \
--nodes-min 3 \
--nodes-max 4 \
--node-ami auto

You can monitor cluster status by command:

EKS_CLUSTER_NAME=pinot-quickstart
aws eks describe-cluster --name ${EKS_CLUSTER_NAME}

Once the cluster is in ACTIVE status, it's ready to be used.

Connect to an existing cluster

Simply run below command to get the credential for the cluster pinot-quickstart that you just created or your existing cluster.

EKS_CLUSTER_NAME=pinot-quickstart
aws eks update-kubeconfig --name ${EKS_CLUSTER_NAME}

To verify the connection, you can run:

kubectl get nodes

Pinot Quickstart

Please follow this Kubernetes QuickStart to deploy your Pinot Demo.

Kubernetes Quickstart

Delete a Kubernetes Cluster

EKS_CLUSTER_NAME=pinot-quickstart
aws eks delete-cluster --name ${EKS_CLUSTER_NAME}