Skip to content

Bootstrapping a Production-Ready DigitalOcean Kubernetes Cluster Using Terraform and Argo CD

License

Notifications You must be signed in to change notification settings

iab-ai/k8s-bootstrapper

 
 

Repository files navigation

Kubernetes Bootstrapper: An Extendable Framework to Set Up Production-Grade Clusters

Introduction

"Production-grade" is a loaded term. What constitutes production readiness will vary according to your use case. While a Kubernetes cluster is production-ready the moment it is ready to serve traffic, there is a commonly agreed set of minimum requirements, as shown in the infographic below.

k8s-prod

With many cloud-native solutions popping up daily, it can be pretty daunting for engineers and organizations to choose the "right" tools to build their tech. It becomes all the more challenging to integrate them to get to day-2 operations ready in Kubernetes.

Kubernetes Bootstrapper

The k8s-bootstrapper project is a customizable and extendable framework that aims to solve this problem by leveraging

  • Terraform: Compose a production-ready infrastructure on DigitalOcean
  • Argo CD: Application configuration management and delivery using GitOps

This project integrates popular battle-tested open-source software and solutions that provide a production-grade out-of-box Kubernetes experience.

 Target Audience

  • Kubernetes adopters
  • Startups/SMBs who are looking to speed up the Kubernetes adoption
  • Builders and curious souls

k8s-bootstrapper


 Overview

.
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md 
├── argocd # Argo CD configurations (optional)
├── bootstrap # cluster bootstrapping using Argo CD
├── docs # documents and assets
├── infrastructure # infrastructure automation using Terraform
└── observability # set up observability stack 

 Bootstrap the Kubernetes Cluster

Follow the guide in the order stated below:

  1. DigitalOcean Infrastructure Automation via Terraform
  2. Bootstrapping using Argo CD
  3. Set up Observability using Robusta

Here is the overview of the architecture that we will set up:

boot-overview

 Note: Intended for experimentation/evaluation only. You will be responsible for all infrastructure costs incurred by the used resources.

 Tear down the Bootstrapped Cluster

Had fun trying out the k8s-bootstrapper? Time to say goodbye!

# Run
cd infrastructure/terraform
terraform destroy --var-file=bootstrapper.tfvars --auto-approve
# Bye Bye!

 Media/Demos

 Shout-out

This project takes inspiration from the fantastic work done by Alex Jones of Cloud Native Skunkworks.

About

Bootstrapping a Production-Ready DigitalOcean Kubernetes Cluster Using Terraform and Argo CD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 100.0%