Amazon EKS
Containers Cloud Practitioner Solutions Architect Associate DevOps Engineer Professional

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.

Czy wiesz, ze...

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.

Pro Tip

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%.

Uwaga

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.

1

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.

2

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.

3

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.

4

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.

5

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.

6

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.

Poczatkujacy

Karpenter 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.

Zaawansowany

IRSA - 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.

Poczatkujacy

Pod 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.

Zaawansowany

EKS 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.

Zaawansowany

Spot 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.

Poczatkujacy

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon EKS bezposrednio w konsoli AWS.

Do czego sluzy Amazon EKS?

01

Mikroserwisy w produkcji

Uruchamiaj dziesiątki mikroserwisów w podach Kubernetes z automatycznym skalowaniem, service discovery i rolling updates.

02

Migracja z on-premise Kubernetes

Przenieś istniejące klastry Kubernetes do AWS bez zmian w manifestach YAML i pipeline CI/CD.

03

Machine learning i przetwarzanie danych

Uruchamiaj joby treningowe ML na GPU z Kubeflow, Apache Spark on Kubernetes i automatycznym skalowaniem nodów.

04

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.

Developer Push obrazu do ECR i deploy przez kubectl/CI-CD
Schedule pods
EKS Control Plane
EKS Control Plane Zarzadzany Kubernetes API server w 3 AZ, etcd, scheduler
Pull images
Managed Node Group Instancje EC2 z kubelet, uruchamiaja kontenery aplikacji
Amazon ECR
Amazon ECR Rejestr obrazow kontenerow ze skanowaniem podatnosci
CloudWatch Container Insights
CloudWatch Container Insights Metryki CPU/RAM/sieci na poziomie poda i noda
Control plane jest automatycznie replikowany w 3 strefach dostepnosci - SLA 99.95%.
Managed Node Groups obsluguja do 450 podow na node (z prefixem delegacji VPC CNI).
EKS automatycznie aktualizuje komponenty add-on (CoreDNS, kube-proxy) przy minor upgrades.

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.

Twoj wynik: 0 / 4

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?

Chcesz poznac Amazon EKS w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon EKS krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy