Skip to content

Latest commit

Β 

History

History
58 lines (45 loc) Β· 1.6 KB

README.md

File metadata and controls

58 lines (45 loc) Β· 1.6 KB

Kubernetes GitOps β€” Kops

Real world example of Kops deployment with 2 environments: lab and test. Use FluxCD to automatically deploy both infrastructure and applications.

Architecture

The kubernetes cluster deploys on the three AZ of eu-west Region in a single VPC. All instance groups are Spot Fleets that created nodes inside the private subnet. All the nodes are running AL2 images and run on Graviton2 ARM instances.

A master-plane public NLB allow access to the Kubernetes API. The front public NLB will be created using a Kubernetes Ingress resource.

Kops Architecture Diagram

Cilium is the CNI provider deployed in the cluster.

Infrastructure

Kops components used:

Name Status Description
AWS IAM Authentication βœ…
AWS Cloud Controller Manager βœ…
AWS Load Balancer Controller ❌ A NLB will be created when deploying an Ingress
Cluster autoscaler ❌ Karpenter is used as a replacement
Cert Manager ❌ Deployed externally using FluxCD
Cilium βœ…
CoreDNS βœ…
DNS Controller βœ…
EBS CSI βœ…
External VPC βœ…
FluxCD βœ… Custom addon
Hubble βœ… Deploy Server & Relay
Karpenter βœ… 🚧 WIP
Metric Server ❌ Deployed using FluxCD & Prometheus Kube Stack
Node local DNS βœ…
Node termination handler βœ…
Node Problem Detector βœ…
Snapshot controller ❌

Getting started

🚧 Terraform to create Kops S3 state bucket

To start the cluster

make create
make update

To delete the cluster

make delete