Containerisation has become the default deployment model for modern applications, and Kubernetes is the platform running those containers at scale. Amazon Elastic Kubernetes Service (EKS) removes the hardest part: operating the Kubernetes control plane. AWS manages etcd, the API server, and the scheduler across three Availability Zones so your team can focus on shipping applications.
Key Takeaways
- ✓EKS manages the Kubernetes control plane across three Availability Zones — AWS handles all upgrades, patches, and certificate rotation.
- ✓Fargate removes EC2 node group management entirely, billing only for the vCPU and memory each pod actually uses.
- ✓EKS integrates natively with IAM, VPC, ALB, ECR, CloudWatch, and AWS Secrets Manager out of the box.
- ✓EKS is available in the AWS Cape Town region (af-south-1) for low-latency African workloads.
What is Amazon EKS?
Kubernetes is the industry-standard open-source platform for automating container deployment, scaling, and management. Amazon EKS is the AWS managed Kubernetes service that takes over responsibility for the control plane. AWS runs etcd, the Kubernetes API server, the controller manager, and the scheduler across three Availability Zones in a high-availability configuration.
Customers manage the data plane: the worker nodes (EC2 instances or Fargate) that run your application pods. EKS supports all standard Kubernetes tooling including kubectl, Helm, and Kustomize, and is fully upstream-compatible so workloads run identically on EKS and on any other Kubernetes distribution. The service is available in the AWS Cape Town region (af-south-1) for African enterprises that need low latency.
EC2 Node Groups vs AWS Fargate
EKS gives you two options for running your workload compute. EC2 Managed Node Groups provision and manage EC2 instances as Kubernetes worker nodes — you control the instance type, AMI, and scaling parameters. Fargate runs each pod on isolated, serverless infrastructure with no node groups to manage.
| Feature | EC2 Node Groups | AWS Fargate |
|---|---|---|
| Node management | You manage OS patching | AWS manages fully |
| Billing granularity | Per instance-hour | Per pod vCPU/memory-second |
| Spot Instance support | Yes | No |
| GPU workloads | Yes | No |
| Startup time | Fast (warm nodes) | Slower (cold start per pod) |
EC2 node groups suit production workloads that need GPU support, Spot Instances for cost savings, or very fast pod scheduling. Fargate is the right choice for variable, event-driven, or low-traffic workloads where provisioning a permanent node group wastes money.
Networking and Security in EKS
The AWS VPC CNI plugin assigns real VPC IP addresses to pods, making each pod a first-class network citizen within your VPC. There is no NAT — pods are directly reachable from other resources in your VPC at their assigned IPs. Security groups can be applied to individual pods (not just node instances) using the Security Groups for Pods feature, enabling fine-grained network isolation at the pod level.
IAM Roles for Service Accounts (IRSA) solves the credentials problem for pods that need to call AWS services. Rather than storing credentials in environment variables or config maps, IRSA maps a Kubernetes service account to an IAM role. The pod assumes that role and receives short-lived credentials automatically via the OIDC token. The AWS Secrets Manager driver for the Secrets Store CSI integration mounts secrets directly into pods as files or environment variables without touching etcd.
EKS Add-ons and the AWS Ecosystem
EKS managed add-ons keep core Kubernetes components updated automatically: CoreDNS handles service discovery, kube-proxy manages network rules on each node, the VPC CNI handles pod networking, and the EBS CSI driver provides persistent storage backed by EBS volumes. AWS manages the lifecycle of these add-ons through the EKS console or API.
Beyond the core add-ons, the AWS Load Balancer Controller provisions Application Load Balancers from Kubernetes Ingress objects and Network Load Balancers from Service objects. Amazon ECR stores your container images privately with IAM-based pull access built in. Amazon EFS provides shared persistent storage across multiple pods and Availability Zones for workloads that require it. For service mesh requirements, AWS App Mesh integrates with EKS for traffic management and observability across microservices.
Observability with CloudWatch Container Insights
CloudWatch Container Insights collects performance metrics from EKS clusters automatically: CPU and memory utilisation per node, pod, and container; network traffic; and disk I/O. Fluent Bit ships container logs from every node to CloudWatch Logs with minimal overhead, making centralised log querying available without additional infrastructure.
AWS X-Ray provides distributed tracing across microservices running in EKS, helping teams identify latency bottlenecks across service-to-service calls. For teams already using open-source tooling, Amazon Managed Service for Prometheus and Amazon Managed Grafana provide fully managed backends for Prometheus metrics and Grafana dashboards without any cluster to operate.
Frequently Asked Questions
EKS fully manages the Kubernetes control plane across three Availability Zones. AWS handles control plane upgrades, patches, and certificate rotation. You focus entirely on your application workloads and node group configuration. Self-managed Kubernetes requires your team to operate etcd, the API server, and the scheduler, adding significant operational overhead to every upgrade cycle.
Yes. EKS Managed Node Groups support Spot Instances, allowing you to reduce compute costs by up to 90% for fault-tolerant batch workloads and stateless applications. Configure your node group across multiple instance types and Availability Zones using capacity-optimised allocation to reduce interruption probability.
Fargate is a serverless compute engine for containers. With EKS on Fargate, there are no EC2 node groups to manage. AWS provisions and scales the underlying infrastructure per pod automatically. You are billed only for the vCPU and memory allocated to each pod while it runs. This makes Fargate ideal for variable or low-traffic workloads where provisioning a full node group is wasteful.
Yes. EKS is production-ready and available in the AWS Cape Town region (af-south-1), providing low latency for East and Southern African users. Kitsilano Technologies designs EKS clusters with multi-AZ node groups, autoscaling, pod disruption budgets, and security hardening that meets enterprise production standards.



