Kubernetes
Orchestration Kurs wkrotce

Kubernetes

Kubernetes (K8s)

Orkiestracja kontenerow na skale produkcyjna. Automatyczne skalowanie, self-healing i deklaratywne zarzadzanie infrastruktura kontenerowa.

Dlaczego warto sie nauczyc?

Kubernetes to standard orkiestracji kontenerow w produkcji. Znajomosc K8s jest wymagana w wiekszosci ofert dla Senior Cloud Engineerow. EKS na AWS to jeden z najszybciej rosnacych serwisow.

Kubernetes (skrocone K8s) to system orkiestracji kontenerow stworzony przez Google i przekazany fundacji CNCF. Gdy masz dziesiatki lub setki kontenerow, potrzebujesz narzedzia, ktore automatycznie je rozmiesci, przeskaluje, zrestartuje po awarii i zbalansuje ruch sieciowy. Tym narzedziem jest Kubernetes.

Kubernetes nie zastepuje Dockera - uzupelnia go. Docker pakuje aplikacje w kontenery, a Kubernetes zarzadza nimi na klastrze serwerow. Definiujesz pozadany stan (np. "chce 3 repliki mojej aplikacji") i K8s dba o to, aby ten stan byl utrzymany.

Dla Cloud Engineera znajomosc Kubernetes to przepustka do najlepszych ofert pracy. AWS oferuje Amazon EKS - zarzadzany Kubernetes, ktory eliminuje zlozonosc utrzymania control plane. Ale zrozumienie podstaw K8s jest niezbedne, zeby efektywnie korzystac z EKS.

Kubernetes dziala w architekturze control plane - worker nodes. Control Plane podejmuje decyzje o klastrze, a Worker Nodes uruchamiaja kontenery.

1

Zdefiniuj pozadany stan

Napisz manifest YAML opisujacy Deployment, Service, Ingress. Deklarujesz CO chcesz, nie JAK to osiagnac.

2

API Server przyjmuje zadanie

kubectl wysyla manifest do API Servera. Dane sa zapisywane w etcd - rozproszonym key-value store klastra.

3

Scheduler rozmieszcza Pody

Scheduler analizuje dostepne zasoby na Node'ach i decyduje, gdzie uruchomic kazdy Pod.

4

Kubelet uruchamia kontenery

Na kazdym Node dziala kubelet, ktory pobiera obrazy i uruchamia kontenery przez container runtime (containerd).

5

Controller Manager pilnuje stanu

Kontrolery ciagle porownuja aktualny stan z pozadanym. Jesli Pod padnie, ReplicaSet Controller tworzy nowy.

Praktyczne porady dotyczace pracy z Kubernetes w srodowiskach produkcyjnych na AWS.

Zacznij od EKS

Nie stawiaj wlasnego control plane. Amazon EKS zarzadza master nodami, aktualizacjami i high availability. Ty skupiasz sie na workloadach.

Poczatkujacy

Ustawiaj resource requests i limits

Bez limitow jeden Pod moze zjesc wszystkie zasoby Node'a. Requests gwarantuja minimum, limits ograniczaja maksimum CPU i RAM.

Poczatkujacy

Uzywaj Helm do zarzadzania pakietami

Helm Charts pozwalaja instalowac zlozone aplikacje jednym poleceniem i parametryzowac konfiguracje miedzy srodowiskami.

Zaawansowany

Wdrazaj GitOps z ArgoCD

ArgoCD synchronizuje stan klastra z repozytorium Git. Kazda zmiana przechodzi przez code review i jest audytowalna.

Zaawansowany

Monitoruj klaster od pierwszego dnia

Zainstaluj Prometheus + Grafana lub uzyj CloudWatch Container Insights. Bez monitoringu nie wiesz, co sie dzieje w klastrze.

Poczatkujacy

Do czego sluzy Kubernetes?

01

Mikroserwisy na produkcji

Kazdy mikroserwis jako osobny Deployment z wlasnym skalowaniem, health checkami i rolling updates. Zero downtime przy wdrazaniu.

02

Auto-scaling aplikacji

Horizontal Pod Autoscaler automatycznie dodaje i usuwa repliki na podstawie CPU, pamieci lub custom metrics. Plac tylko za to, czego potrzebujesz.

03

Multi-tenant platformy

Namespaces izoluja zespoly i projekty na wspolnym klastrze. Resource quotas zapewniaja sprawiedliwy podzial zasobow.

04

Batch processing i cron jobs

Kubernetes Jobs i CronJobs uruchamiaja zadania wsadowe - przetwarzanie danych, generowanie raportow, ETL pipelines.

Co musisz wiedziec?

Pod

Najmniejsza jednostka w K8s. Jeden lub wiecej kontenerow dzielacych siec i storage. Zwykle jeden kontener na Pod.

Deployment

Deklaratywny sposob zarzadzania Podami. Definiujesz ile replik chcesz, jaki obraz i konfiguracje. K8s utrzymuje pozadany stan.

Service

Stabilny endpoint sieciowy dla grupy Podow. Load balancer wewnatrz klastra. Typy: ClusterIP, NodePort, LoadBalancer.

Namespace

Wirtualny klaster wewnatrz klastra. Izoluje zasoby miedzy zespolami, srodowiskami (dev/staging/prod) lub projektami.

Ingress

Zarzadzanie ruchem HTTP/HTTPS z zewnatrz klastra. Routing po domenach i sciezkach, terminacja SSL.

ConfigMap / Secret

Przechowywanie konfiguracji i tajnych danych oddzielnie od kodu. Uwaga: w vanilla Kubernetes Secrets sa tylko kodowane base64 - szyfrowanie at rest w etcd trzeba wlaczyc (EKS robi to domyslnie przez envelope encryption z AWS KMS).

Przyklady Kubernetes CLI

Wdrozenie aplikacji

Utworz Deployment z 3 replikami

kubectl create deployment web --image=nginx:1.25 --replicas=3

Eksponowanie serwisu

Utworz Service typu LoadBalancer

kubectl expose deployment web --port=80 --type=LoadBalancer

Skalowanie

Zmien liczbe replik w dzialajacym Deployment

kubectl scale deployment web --replicas=5

Sprawdzenie statusu

Podejrzyj Pody, Deploymenty i Serwisy

kubectl get pods -o wide
kubectl get deployments
kubectl get services
kubectl describe pod web-abc123

Jak Kubernetes dziala z AWS?

Kubernetes + AWS

Amazon EKS to zarzadzany Kubernetes na AWS - eliminuje zlozonosc utrzymania control plane. EKS integruje sie z ALB Ingress Controller do routingu HTTP, IAM Roles for Service Accounts (IRSA) do bezpiecznego dostepu do uslug AWS, Amazon EBS CSI Driver do persistent storage i CloudWatch Container Insights do monitoringu.

Quiz: Kubernetes

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz - feedback pojawi sie od razu.

Twoj wynik: 0 / 3

1. Co to jest Pod w Kubernetes?

2. Do czego sluzy Deployment?

3. Czym rozni sie Service typu ClusterIP od LoadBalancer?

Chcesz poznac Kubernetes w praktyce?

Kurs Kubernetes jest w przygotowaniu. Zapisz sie na newsletter, zeby nie przegapic premiery. W miedzyczasie sprawdz darmowy kurs "AWS od podstaw".

Kurs AWS od podstaw Wszystkie technologie