"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.
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.
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.
- Kubernetes adopters
- Startups/SMBs who are looking to speed up the Kubernetes adoption
- Builders and curious souls
.
├── 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
Follow the guide in the order stated below:
- DigitalOcean Infrastructure Automation via Terraform
- Bootstrapping using Argo CD
- Set up Observability using Robusta
Here is the overview of the architecture that we will set up:
Note: Intended for experimentation/evaluation only. You will be responsible for all infrastructure costs incurred by the used resources.
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!
- YouTube: Project Overview
- Blog: Build your K8s framework
- Workshop: DigitalOcean Deploy Conference 2022
- Featured in akuity/awesome-argo
This project takes inspiration from the fantastic work done by Alex Jones of Cloud Native Skunkworks.