Installing Kubernetes Cluster (k8s) on AWS platform

NOTE: This tutorial meant to be step by step guide to help setup your own k8s cluster on AWS ( not EKS )

Resources

The list is very long, please see

First things first, setup your environment

We will need:

You can follow one of those instructions for your platform, or install yourself.

Configure helm

Its important to add standard charts repo to helm using

Setup AWS account and permissions

NOTE: I am going to use Administrator Level access because it’s easy to setup. This is not recommended for production and you should create user with appropriate permissions later on.
Create IAM programmatic account with the following permissions:

Create S3 bucket that KOPs will use for cluster state (clusters.example.com)

If you don’t know how please go to

Configuring AWS and KOPs on your machine

Now let’s make sure we have the right access and state store for our deployment.
Configure KOPs Store

Configure aws-cli

Create SSH key ( needed for KOPs connection to cluster )

Creating your first Kubernetes Cluster on AWS

We are going to creating the default cluster ( 1 master and 2 nodes )
I compiled a list of KOPs note-worthy options here:

I am going to use the following parameters:

Lets begin:

NOTES:

Setting up Kubernetic

A very useful GUI tool for kubernetes that we will be using to setup our auto-deploy example Download the tool from https://kubernetic.com/, it should start right up.

Setting up Ingress-nginx on your Cluster

To easily expose services and connect sub-domains i am going to use nginx-ingress

Conclusion and next steps

This is the easiest way i found to setup KOPs based k8s cluster and configure it to work within a short amount of time and with a minimal expenses.

So whats next? There are 3 more steps for getting this cluster not just running but also useful for development and cheap to run, since the cluster is setup order of execution doesn’t really matter and you can also skip steps you don’t think are necessary

I hope it helps to get started with K8s.

Software team-lead