BCGDV / lon-kinbal

Automatically deploy a production-grade Kubernetes cluster and cool plugins on AWS with 0 hassle. 🚀
2 stars 3 forks source link
aws docker kubernetes microservices

Table of contents

  1. Introduction
  2. Important Notes
  3. Prerequisites
  4. Getting Started
    1. Use as a Docker image
    2. Use as a Github template / terraform module
    3. Dashboard
  5. Plugin Deployments
    1. API-Gateway Ingress Controller
    2. Application Load Balancer (ALB) Ingress Controller
    3. Kong Gateway
    4. Fargate Profile
    5. Istio
  6. Teardown
  7. Useful Commands

Introduction

Kinbal allows you to deploy a production-grade EKS cluster on AWS in 15 mins or less. 🚀🐳

Important Notes

Prerequisites

  1. Docker

Getting Started

There are two ways in which you can use this tool: as a Docker image or a Github template / terraform module. The first one is the simpler of the two and it does not require installing terraform or kubectl.

Use as a Docker image

  1. Create a configuration file to configure Kinbal and save as cluster.config.
    CLUSTER_NAME={name of the cluster to be created}
    REGION={AWS region to create the cluster in}
    ENVIRONMENT={name of the environment you're deploying (e.g. dev, production)}
    AWS_PROFILE={optional, if you use named profiles}
  2. Run the project using Docker by executing the following command. It will drop you into a basic shell, preconfigured with terraform and kubectl.
    docker run --rm -it --env-file cluster.config -v ~/.aws:/root/.aws ppanchal97/kinbal
  3. If your IAM user has MFA enabled, create a new session.
    eval $(bin/aws-login-with-mfa [IAM user name] [token])
  4. Deploy the core EKS cluster (this step will take a while)
    sh ./bin/core/EKS/deploy.sh
  5. Verify deployment
    kubectl get pods -A # to see all of the running pods that have been deployed
    kubectl get ingress # to see all of the public addresses of the services

🎉 Done! Kinbal has just created the following for you:

Find more about Kubernetes control plane and worker node components at https://kubernetes.io/docs/concepts/overview/components/

Use as a Github template / terraform module

Coming soon 📝

Dashboard

To deploy:

Plugin Deployments

API-Gateway Ingress Controller

To deploy:

Application Load Balancer (ALB) Ingress Controller

To deploy:

Kong Gateway

To deploy:

Fargate Profile

To deploy:

Istio

To deploy:

Teardown

Note

Useful Commands