Kubernetes Cluster Architectuur
Deze pagina geeft je een overzicht van de clusteropzet binnen het HappyHorizon DevOps platform. Je leest hier hoe development en productie clusters zijn ingericht, welke tooling wordt gebruikt en hoe de workflows verlopen.
Overzicht
Onze infrastructuur bestaat uit twee primaire Kubernetes clusters: één voor development en één voor productie. Dit zorgt voor een duidelijke scheiding en een consistent deployment pad.
Development Cluster
Het development cluster is bedoeld voor testen en staging van nieuwe functionaliteiten.
Technische Specificaties
| Eigenschap | Waarde |
|---|---|
| Locatie | Google Cloud Platform - europe-west4-a |
| GKE Versie | 1.32.x-gke.x |
| Nodepool | 3 nodes (e2-standard-4), autoscaling 3-5 nodes, preemptible |
| Netwerk | VPC-native, private nodes, NAT gateway |
| Storage | Persistent disks, Filestore |
Kenmerken
- Veilig testen van nieuwe features
- Productie-equivalente infrastructuur
- CI-validatie en load testing
- Kortere retentie voor logs/metrics
Deployment Proces
- Automatische deployment via GitHub Actions
- ArgoCD synchronisatie van staging apps met 'dev' branches
Productie Cluster
Het productie cluster host live applicaties en is geoptimaliseerd voor beschikbaarheid en prestaties.
Technische Specificaties
| Eigenschap | Waarde |
|---|---|
| Locatie | GCP - europe-west4-a/b/c (multi-zone) |
| GKE Versie | 1.31.x-gke.x |
| Nodepool | 5 nodes (e2-standard-8), 3 nodes (e2-highcpu-16), regional setup |
| Netwerk | VPC-native, Cloud Armor |
| Storage | SSD persistent disks, regional PD's |
Kenmerken
- Resource optimalisatie en pod QoS
- Strikte security policies
- Monitoring en logging met lange retentie
- GitOps beheer via ArgoCD
- Backup en disaster recovery procedures
- Autoscaling
Deployment Proces
- Promotie vanuit staging via pull-requests
- Automated rollbacks bij problemen
Cluster Tooling
Onze clusters gebruiken deze technologieën:
| Tool | Doel |
|---|---|
| GKE | Managed Kubernetes |
| Docker | Containerization |
| GitHub Actions | CI/CD pipeline management |
| ArgoCD | GitOps deployments |
| Helm | Packaging en deployment |
| Kustomize | Omgevingsspecifieke configuratie |
| Prometheus & Grafana | Monitoring en visualisatie |
Netwerk & Security
We implementeren beveiliging op meerdere lagen:
- Wireguard VPN voor veilige toegang
- NGINX Ingress Controller voor verkeer routing
- Cert-manager voor SSL certificaten
- Network Policies voor micro-segmentatie
Workflow & Scheiding
Strikte scheiding tussen development en productie clusters waarborgt stabiliteit en security.
Voordelen
- Productie is geïsoleerd van development
- Veilige testomgeving
- Gecontroleerd deployment proces
- Resource optimalisatie per omgeving
Promotie Workflow
- Feature branches ontwikkelen
- Deployment naar development namespaces
- Validatie in development
- Pull request naar staging
- Final validation in staging
- Approval voor productie
- ArgoCD synchronisatie naar productie
Disaster Recovery
We zorgen voor continuïteit via:
- Backup for GKE: dagelijkse en wekelijkse backups
- Database dumps naar Google Cloud Storage
- Cross-region replicatie
- Gedocumenteerde recovery procedures