SCENARIUSZ 01 / KUBERNETES
Środowisko na szkolenie Kubernetes
Topologia laboratorium wynika z zakresu ćwiczeń. Do pracy z Deployment, Service i Ingress wystarcza zwykle wspólny klaster oraz osobny namespace dla każdego uczestnika. Ćwiczenia dotyczące control plane, worker nodes lub awarii klastra wymagają osobnych klastrów albo zestawów VM.
Namespace porządkuje obiekty i wyznacza zakres części polityk, ale nie stanowi samodzielnej granicy bezpieczeństwa. Uczestnicy nadal współdzielą API server, węzły, storage i zasoby cluster-scoped. Dostęp ograniczamy przez RoleBinding, a zużycie CPU, pamięci i liczby obiektów przez ResourceQuota i LimitRange. NetworkPolicy działa tylko wtedy, gdy obsługuje ją użyty plugin CNI.
Przed uruchomieniem sprawdzamy cały przebieg ćwiczeń z konta uczestnika. Test obejmuje dostęp do registry, provisioning PVC, DNS, Ingress, limity zasobów i operacje Helm. Osobno weryfikujemy reset środowiska oraz to, czy uczestnik nie może odczytać obiektów z innych namespace ani utworzyć zasobów cluster-scoped.
Konfiguracja
Każdy uczestnik otrzymuje własny namespace, ServiceAccount, RoleBinding i kubeconfig. ResourceQuota oraz LimitRange wymuszają uzgodnione requests i limits. Wersje Kubernetes, kubectl i Helm odpowiadają materiałom, a obrazy są wcześniej pobrane z właściwego registry. StorageClass, IngressClass i NetworkPolicy włączamy tylko wtedy, gdy występują w scenariuszu.
Zakres techniczny
Zakres może obejmować Deployment, StatefulSet, ConfigMap, Secret, probes, Service, Ingress i PVC. Uczestnicy diagnozują rollout przez Events, logi, stan obiektów Pod i EndpointSlice. W części poświęconej Helm analizują wyrenderowany manifest, nadpisują values i wykonują rollback konkretnego release.
Efekt i ograniczenia
Wspólny baseline usuwa różnice wersji API i konfiguracji klientów. RBAC, quota i NetworkPolicy ograniczają wpływ uczestników na siebie, lecz nie zapewniają izolacji równoważnej osobnemu klastrowi. Zadania wymagające cluster-admin realizujemy wyłącznie w dedykowanym środowisku.