Skip to content

glebiller/k8s-gitops-kops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks