Kubernetes Platform Engineering with EKS, KEDA and Karpenter
A Kubernetes platform combining EKS, GitOps, workload autoscaling, node provisioning, observability, and operational guardrails for reliable delivery.
The problem: a cluster is not yet a platform
Provisioning Amazon EKS creates a Kubernetes control plane, but application teams still need safe delivery, predictable scaling, workload identity, observability, and a clear operating model. Without those capabilities, each workload invents its own deployment conventions and incidents become cluster-wide archaeology.
This blueprint defines a small paved road for production workloads while keeping escape hatches explicit and reviewable.
Platform foundation
The foundation begins with private networking, scoped IAM, managed control-plane logging, encrypted storage, and node isolation appropriate to the workload. Terraform owns the durable cloud resources while GitOps owns Kubernetes objects and application delivery state.
Workload identity maps a service account to the minimum AWS permissions required by that workload. This avoids distributing node credentials or static access keys across namespaces.
Delivery and configuration ownership
Git remains the source of truth for deployable state. Argo CD reconciles approved manifests and makes drift visible. Environment-specific values are separated from reusable workload definitions so promotion does not depend on copying and editing entire manifests.
Rollback starts from Git because the desired state must remain explainable after the incident. Emergency runtime actions are documented and reconciled back into version control.
Workload and node autoscaling
KEDA translates external demand—such as queue depth or event rate—into workload scaling decisions. Horizontal Pod Autoscaler handles resource or custom-metric scaling, while Karpenter provisions nodes that fit pending workload requirements.
These layers need explicit boundaries. Requests and limits, disruption budgets, cooldown behavior, node constraints, and maximum capacity prevent independent autoscalers from amplifying one another during traffic spikes.
Observability and operations
The platform exposes control-plane logs, workload metrics, deployment state, node capacity, and application telemetry. Prometheus and Grafana provide operational views; alerts focus on user impact, failed reconciliation, exhausted capacity, and sustained error conditions rather than every transient event.
Runbooks cover failed scheduling, metrics gaps, node provisioning, GitOps drift, certificate expiry, and backup restoration. Ownership metadata connects each workload and alert to a team before an incident occurs.
Related field notes cover Git-first Argo CD rollback, PodMonitor discovery failures, and Grafana panels that show no data.
For deeper implementation guides, see creating an Amazon EKS cluster with managed node groups, installing KEDA with Helm, coordinating KEDA, HPA, and Karpenter, and deploying scalable Loki logging on EKS with S3.
Operational value
- repeatable Kubernetes foundations rather than one-off clusters
- controlled GitOps delivery and auditable configuration history
- demand-aware workload scaling with capacity-aware node provisioning
- short-lived workload identity instead of static cloud keys
- observable platform behavior and actionable incident context
- clearer handover between platform and application teams
Next step
Discuss a similar operating challenge.
A platform engineering blueprint for teams that need scalable Kubernetes operations without hiding ownership, capacity, security, or incident-response responsibilities.
Discuss this work →