Vanilla Kubernetes
Napredni tehnički tutorijal i praktikum
Prvi deo: Temelji, arhitektura i izgradnja klastera
Prvi deo uspostavlja pojmovni i arhitektonski temelj potreban za razumevanje Kubernetes-a kao distribuiranog, deklarativnog i API-orijentisanog sistema. Čitalac najpre razdvaja upstream projekat od komercijalnih distribucija i upravljanih servisa, zatim upoznaje izvršavanje kontejnera, kontrolne petlje, kontrolnu ravan, radne čvorove, etcd i infrastrukturne zavisnosti. Nakon izbora laboratorijskog modela prelazi na bezbedan rad sa kubectl alatom, kubeconfig kontekstima, API resursima i deklarativnim manifestima. Deo se završava razumevanjem osnovnih workload kontrolera i njihovog stvarnog mesta u klasteru.
I. Uvod u Vanilla Kubernetes i platformsku odgovornost
1. Šta je Vanilla Kubernetes – upstream Kubernetes bez dodatnog vendorskog platformskog sloja 2. Zašto učiti Vanilla Kubernetes – prenosiva osnova za OpenShift, Tanzu, cloud i DevOps rad 3. Kontejneri i orkestracija – od izolovanog procesa do deklarativno upravljane aplikacije 4. Kubernetes projekat i ekosistem – granice jezgra, interfejsi, dodaci i model odgovornostiII. Topologija, komponente i život klastera
5. Lokalni, razvojni i laboratorijski klasteri – kind, minikube i izbor okruženja za učenje 6. kubeadm i topologija klastera – bootstrap, endpoint kontrolne ravni i granice alata 7. Control plane – API server, scheduler, controller manager i tok upravljačke odluke 8. Worker node – kubelet, CRI runtime, kube-proxy i lokalno izvršavanje Podova 9. etcd i stanje klastera – quorum, konzistentnost, snapshot i značaj oporavkaIII. Kubernetes API, kubectl i deklarativno upravljanje
10. Kubernetes API server – autentikacija, autorizacija, admission i čuvanje objekta 11. kubectl osnove – bezbedna komunikacija sa API serverom i čitanje stanja 12. kubeconfig – klasteri, korisnici, konteksti, namespace-i i zaštita kredencijala 13. get, describe, logs, events i explain – dokazi pre promene i osnovna dijagnostika 14. YAML manifesti, apply, diff i delete – deklarativna promena, validacija i rollbackIV. Osnovni workload objekti i kontrolne petlje
15. Namespace, labels, selectors i annotations – organizacija, identitet i upravljanje resursima 16. Pod – životni ciklus, init kontejneri, sidecar obrazac i granice izvršne jedinice 17. ReplicaSet i Deployment – replike, rollout strategije, istorija i povratak verzije 18. DaemonSet, Job i CronJob – čvorski servisi, završivi poslovi i planirano izvršavanje 19. Service i EndpointSlice – stabilan identitet, otkrivanje backend-a i tok saobraćajaDrugi deo: Workload platforma, mreža, podaci i bezbednost
Drugi deo prelazi sa pojedinačnih objekata na projektovanje pouzdane workload platforme. Obrađuje konfiguraciju, tajne, provere zdravlja, zahteve i limite, raspoređivanje, mrežni model, DNS, izlaganje aplikacija, mrežne politike, trajno skladište i stateful workload-e. Bezbednost nije izdvojena kao završni dodatak, već se povezuje sa identitetom, RBAC pravilima, ServiceAccount nalozima, Pod Security Standards, admission kontrolom, zaštitom tajni i audit tragom. Cilj je da svaka aplikativna odluka bude povezana sa posledicama po dostupnost, performanse, bezbednost i oporavak.
V. Konfiguracija, zdravlje, resursi i raspoređivanje
20. ConfigMap – konfiguracija izvan slike, načini projekcije i kontrolisana promena 21. Secret – osetljive vrednosti, enkripcija u mirovanju i integracija sa spoljnim trezorima 22. Startup, readiness i liveness probe – zdravlje aplikacije i kontrolisano gašenje 23. Requests, limits, QoS i ephemeral storage – kapacitet, zaštita čvora i rizik od evikcije 24. Scheduling politike – affinity, topology spread, taints, tolerations i prioritetiVI. Mreža, DNS i pristup aplikacijama
25. Kubernetes mrežni model i CNI – Pod mreža, rutiranje, MTU i odgovornost dodatka 26. ClusterIP, NodePort i LoadBalancer – Service tipovi i putanja paketa 27. DNS u klasteru – CoreDNS, imena servisa, search domeni i keširanje 28. Ingress i Gateway API – HTTP/HTTPS rutiranje, TLS i granice implementacije 29. NetworkPolicy i dijagnostika mreže – segmentacija, testovi konektivnosti i dokaz uzrokaVII. Storage i stateful aplikacije
30. Volume – životni vek podataka, projekcije i deljenje fajlova unutar Poda 31. PV, PVC, StorageClass i CSI – dinamičko provisionovanje i životni ciklus volumena 32. StatefulSet i Headless Service – stabilan identitet, redosled i trajni podaci 33. VolumeSnapshot, backup i restore aplikativnih podataka – od kopije do dokazanog oporavkaVIII. Identitet, autorizacija i zaštita workload-a
34. Autentikacija i identiteti – korisnici, sertifikati, OIDC i granice Kubernetes API-ja 35. RBAC – Role, ClusterRole, povezivanja, impersonacija i najmanje privilegije 36. ServiceAccount – identitet workload-a, projektovani tokeni i bezbedan API pristup 37. SecurityContext, Pod Security Standards i admission – sprečavanje privilegovanih workload-a 38. Zaštita tajni, audit politika i trag administrativne promeneTreći deo: Produkcione operacije, otpornost i enterprise integracije
Treći deo razvija administratorski način razmišljanja potreban za dugotrajan i proverljiv rad klastera. Monitoring, logovi i troubleshooting povezuju se sa SLI/SLO ciljevima, događajima i incidentima. Lifecycle klastera obuhvata inventar verzija, kompatibilnost, sertifikate, kontrolisane nadogradnje, etcd backup i disaster recovery. Završne lekcije obrađuju CMDB, politiku promena, GitOps i interoperabilnost sa OpenShift, Tanzu i cloud platformama. Laboratorije zatim povezuju izgradnju, validaciju, kvar, oporavak i dokumentovanje u celovit operativni scenario.
IX. Dostupnost, skaliranje i observability
39. Skaliranje i dostupnost workload-a – HPA, PDB, raspodela replika i granice automatizacije 40. Monitoring, metrike i alarmi – od bazne linije do operativnog signala 41. Logovi, događaji i korelacija – aplikacija, čvor, kontrolna ravan i audit trag 42. Sistematičan troubleshooting – simptom, obim, dokaz, uzrok, korekcija i validacijaX. Lifecycle, nadogradnje i oporavak klastera
43. Inventar komponenti, verzijska kompatibilnost i podržani lifecycle 44. PKI, sertifikati i kubeconfig lifecycle – rokovi, obnova i zaštita privatnih ključeva 45. Kontrolisana kubeadm nadogradnja – pre-check, redosled čvorova, validacija i rollback odluka 46. etcd backup i disaster recovery – snapshot, restore, quorum i povratak kontrolne ravniXI. Upravljanje platformom i interoperabilnost
47. Inventar resursa, labels, annotations i CMDB – vlasništvo, klasifikacija i razmena podataka 48. Admission politike i policy as code – standardizacija bez ručne kontrole svakog manifesta 49. GitOps, upravljanje promenama i konfiguracioni drift – od izvora istine do dokaza primene 50. Interoperabilnost – priprema znanja i workload-a za OpenShift, Tanzu i cloud platformeXII. Laboratorijsko okruženje i integrisani projekti
Završno poglavlje objedinjuje prethodno gradivo u progresivne laboratorije: od izgradnje ponovljivog okruženja i implementacije višeslojne aplikacije, preko uvođenja mrežnih, storage i bezbednosnih kontrola, do simulacije kvara, oporavka i operativne primopredaje. Svaki projekat zahteva preduslove, procenu rizika, dokaz početnog stanja, validaciju rezultata, rollback i dokumentaciju koja može postati osnova za standardnu operativnu proceduru.
Dodatak 1. Izgradnja Vanilla Kubernetes laboratorije – mreža, čvorovi, kubeadm i početna validacija Dodatak 2. Integrisani projekat – bezbedno, upravljivo i proverljivo Kubernetes okruženje Dodatak 3. Operativne laboratorije – obuka novih članova DevOps i platformskog tima Dodatak 4. Vanilla Kubernetes na VMware infrastrukturi – kompletna DevOps laboratorija Dodatak 5. Game day – kvar čvora, degradacija servisa, oporavak, dokazi i retrospektiva