Amazon EKS
Amazon Elastic Kubernetes Service
Zarządzany Kubernetes w chmurze AWS. Uruchamiaj kontenery na skalę produkcyjną bez konieczności zarządzania control plane.
Amazon EKS (Elastic Kubernetes Service) to w pełni zarządzany serwis Kubernetes na AWS. Kubernetes to otwarty system orkiestracji kontenerów, który automatyzuje wdrażanie, skalowanie i zarządzanie aplikacjami kontenerowymi. EKS zdejmuje z Ciebie ciężar utrzymania control plane - AWS dba o jego dostępność, aktualizacje i bezpieczeństwo.
Jeśli Twój zespół już korzysta z Kubernetes on-premise lub w innej chmurze, EKS pozwala przenieść te same manifesty i narzędzia (kubectl, Helm) do AWS bez przepisywania konfiguracji. To najpopularniejszy sposób uruchamiania Kubernetes w chmurze.
Amazon EKS uruchamia control plane w 3 Availability Zones jednocześnie. Nawet jeśli cala strefa dostępności ulegnie awarii, Twój klaster nadal działa. AWS automatycznie zastępuje uszkodzone instancje control plane.
Uzywaj EKS Auto Mode (uruchomiony na re:Invent 2024) - AWS zarzadza node groups, Karpenterem, networkingiem i storage addonami. Jesli jestes na EKS, zawsze wybieraj managed node groups + Karpenter zamiast self-managed nodes. Uruchamiaj niekrytyczne workloady na nodach Spot, zeby zaoszczedzic 60-90%.
EKS control plane kosztuje $0.10/godz. ($73/mies.) niezaleznie od tego czy masz 1 pod czy 1000. Dla malych projektow rozważ ECS (control plane darmowy) lub EKS Auto Mode.
Amazon EKS to w pelni zarzadzany klaster Kubernetes, ktory automatycznie utrzymuje wysoka dostepnosc control plane w trzech strefach dostepnosci. AWS zajmuje sie aktualizacjami, patchami i skalowaniem komponentow zarzadzajacych.
Tworzenie klastra EKS
Definiujesz wersje Kubernetes (np. 1.29), VPC z subnets w min. 2 AZ, role IAM dla control plane i konfiguracje logowania do CloudWatch. Klaster startuje w ok. 10-15 minut.
Konfiguracja node groups
Wybierasz miedzy Managed Node Groups (EC2 zarzadzane przez AWS), self-managed nodes (pelna kontrola) lub Fargate profiles (serverless). Managed Node Groups automatycznie obsluguja drain i rolling updates.
Polaczenie kubectl
Komenda aws eks update-kubeconfig generuje wpis w ~/.kube/config z tokenem uwierzytelniajacym przez aws-iam-authenticator. Od tego momentu zarzadzasz klastrem standardowymi narzedziami Kubernetes.
Deploy aplikacji w podach
Tworzysz Deployment, ReplicaSet i Pods z obrazow kontenerow. EKS wspiera do 5000 nodow na klaster i do 110 podow na node (limit domyslny). Scheduler automatycznie rozmieszcza pody w dostepnych nodach.
Ekspozycja przez Service i Ingress
Service typu LoadBalancer tworzy automatycznie ALB lub NLB. AWS Load Balancer Controller obsluguje Ingress resources i mapuje ruch HTTP/HTTPS do odpowiednich serwisow w klastrze.
Monitoring i observability
Container Insights zbiera metryki CPU, pamieci i sieci z kazdego poda. Fluent Bit przesyla logi do CloudWatch. Mozesz tez uzyc Prometheus z Amazon Managed Grafana do zaawansowanej wizualizacji.
EKS to potezna platforma, ale wymaga przemyslanej konfiguracji. Te wskazowki pomoga Ci uniknac typowych pulapek i zoptymalizowac koszty oraz bezpieczenstwo klastra.
Managed Node Groups zamiast self-managed
Managed Node Groups automatycznie obsluguja aktualizacje AMI, drain nodow i rolling updates. Self-managed nodes daja wieksza kontrole, ale wymagaja recznego zarzadzania cyklem zycia. W 90% przypadkow Managed Groups sa lepszym wyborem.
PoczatkujacyKarpenter zamiast Cluster Autoscaler
Karpenter reaguje na pending pods w sekundach (vs minuty w Cluster Autoscaler), automatycznie dobiera optymalne typy instancji i konsoliduje nody. Oszczednosci kosztowe siegaja 20-40% dzieki lepszemu bin-packingowi.
ZaawansowanyIRSA - IAM Roles for Service Accounts
Zamiast przypisywac role IAM do calego noda, uzyj IRSA, aby kazdy pod mial wlasna role z minimalnymi uprawnieniami. To realizacja zasady least privilege na poziomie pojedynczego workloadu.
PoczatkujacyPod Security Standards
Wlacz Pod Security Admission (PSA) w trybie enforce z profilem restricted dla namespacow produkcyjnych. Blokuj kontenery uruchamiane jako root, z privileged mode i z dostepem do hostPath.
ZaawansowanyEKS Blueprints dla powtarzalnych wdrozen
EKS Blueprints (CDK/Terraform) to gotowe szablony z best practices - VPC, node groups, add-ony (CoreDNS, kube-proxy, VPC CNI) i observability. Idealne do standaryzacji wielu klastrow w organizacji.
ZaawansowanySpot Instances dla optymalizacji kosztow
Uzyj Spot Instances w node groups dla workloadow tolerujacych przerwy (batch, dev/test). Konfiguruj capacity-spread allocation strategy z wieloma typami instancji. Oszczednosci do 90% vs On-Demand.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon EKS bezposrednio w konsoli AWS.
Do czego sluzy Amazon EKS?
Mikroserwisy w produkcji
Uruchamiaj dziesiątki mikroserwisów w podach Kubernetes z automatycznym skalowaniem, service discovery i rolling updates.
Migracja z on-premise Kubernetes
Przenieś istniejące klastry Kubernetes do AWS bez zmian w manifestach YAML i pipeline CI/CD.
Machine learning i przetwarzanie danych
Uruchamiaj joby treningowe ML na GPU z Kubeflow, Apache Spark on Kubernetes i automatycznym skalowaniem nodów.
Aplikacje wielochmurowe
Kubernetes jako warstwa abstrakcji pozwala uruchamiać te same workloady na AWS, GCP i Azure bez vendor lock-in.
Co musisz wiedziec?
Control Plane
Mózg klastra Kubernetes - API server, etcd, scheduler. W EKS jest w pełni zarządzany przez AWS i rozciągnięty na 3 Availability Zones.
Worker Nodes
Maszyny (EC2 lub Fargate), na których uruchamiane są Twoje kontenery. Możesz używać Managed Node Groups, self-managed nodes lub Fargate.
Pod
Najmniejsza jednostka w Kubernetes. Jeden pod to jeden lub więcej kontenerów, które współdzielą sieć i storage.
Managed Node Group
Grupa instancji EC2 zarządzana przez EKS. AWS automatycznie obsługuje provisioning, aktualizacje AMI i skalowanie nodów.
kubectl
Narzędzie CLI do zarządzania klastrem Kubernetes. Pozwala wdrażać aplikacje, sprawdzać logi, skalować pody i zarządzać zasobami.
Helm
Menedżer pakietów dla Kubernetes. Helm Charts to gotowe szablony do wdrażania popularnych aplikacji (nginx, Prometheus, Grafana).
Wdrazanie aplikacji kontenerowej na EKS
Typowa architektura aplikacji na EKS z Managed Node Groups, rejestrem obrazow ECR i monitoringiem przez CloudWatch Container Insights.
Porownanie EKS vs ECS vs Fargate
| Cecha | EKS | ECS | EKS/ECS + Fargate |
|---|---|---|---|
| Orkiestrator | Kubernetes | AWS-natywny | K8s lub ECS |
| Control plane | Zarzadzany ($0.10/h) | Darmowy | Zalezy od orkiestratora |
| Krzywa uczenia | Stroma (K8s ecosystem) | Lagodna (AWS-natywny) | Srednia |
| Przenosnosc | Multi-cloud (K8s standard) | Tylko AWS | Tylko AWS |
| Community/Ecosystem | Ogromny (CNCF) | Mniejszy (AWS only) | - |
| Najlepszy dla | Zespoly znajace K8s, multi-cloud | Proste wdrozenia na AWS | Brak zarzadzania serwerami |
Ile kosztuje Amazon EKS?
Klaster EKS
Opłata za control plane - stała stawka za godzinę za każdy klaster.
$0.10/godz. (~$73/mies. za klaster)
Worker Nodes (EC2)
Płacisz za instancje EC2, które pełnią rolę worker nodes. Ceny jak standardowe EC2.
t3.medium: ~$0.0416/godz. za node
Fargate pods
Jeśli używasz Fargate zamiast EC2, płacisz za vCPU i pamięć na poziomie poda.
1 vCPU + 2 GB RAM: ~$0.05/godz.
EKS Anywhere
Licencja na uruchamianie EKS w Twoim data center. Dodatkowa opłata za wsparcie AWS.
Od $0 (basic) do enterprise support
Przyklady AWS CLI
Utwórz klaster EKS
Tworzy nowy klaster EKS z domyślną konfiguracją w regionie eu-central-1
aws eks create-cluster \
--name moj-klaster \
--role-arn arn:aws:iam::123456789012:role/EKSClusterRole \
--resources-vpc-config subnetIds=subnet-abc123,subnet-def456,securityGroupIds=sg-xyz789
Skonfiguruj kubectl
Pobiera konfigurację klastra i ustawia kontekst kubectl
aws eks update-kubeconfig \
--name moj-klaster \
--region eu-central-1
Dodaj Managed Node Group
Tworzy grupę worker nodes (2 instancje t3.medium)
aws eks create-nodegroup \
--cluster-name moj-klaster \
--nodegroup-name worker-nodes \
--node-role arn:aws:iam::123456789012:role/EKSNodeRole \
--subnets subnet-abc123 subnet-def456 \
--instance-types t3.medium \
--scaling-config minSize=2,maxSize=5,desiredSize=2
Wylistuj klastry EKS
Pokazuje wszystkie klastry EKS w bieżącym regionie
aws eks list-clusters --output table
Quiz: Amazon EKS
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Za co odpowiada control plane w Amazon EKS?
2. Które z poniższych NIE jest sposobem uruchamiania worker nodes w EKS?
3. Ile kosztuje sam control plane klastra EKS (bez worker nodes)?
4. Jakie narzędzie CLI służy do zarządzania zasobami w klastrze Kubernetes?
Czesto uzywane razem z Amazon EKS
Czytaj więcej o Amazon EKS
Chcesz poznac Amazon EKS w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon EKS krok po kroku. Teoria + praktyka od zera.