Tym razem garść nowości i ciekawostek o Kubernetesie. Muszę przyznać, że coraz trudniej jest mi znaleźć coś ciekawego.
Może to po prostu oznacza, że większość jest już ogarnięta, a pozostaje nam jedynie doglądanie i udoskonalanie naszych “samograjów” kontenerowych na klastrach?
Ewentualnie to cisza przed burzą, bo wkrótce i tak wszystkim będzie zarządzać AI typu ChatGPT, a nam przyjdzie zajmować się wypiekami serników lub sprzedażą kebabów 😉
Oznaczanie autorów zmian w GitOps z Kyverno
Fajny GitOps jest i nie ma co do tego wątpliwości. Może być jeszcze fajniejszy jeśli z poziomu metadanych każdego obiektu możesz się dowiedzieć o autorze ostatniej zmiany lub innych informacji z git.
Jak to zrobić za pomocą Kyverno jest opisane w tym wpisie. To kolejny punkt ewolucji podejścia GitOps i dość łatwy do zaaplikowania.
Mam nadzieję tylko, że nie posłuży to do wskazywania kozła ofiarnego zmian, które mogły doprowadzić do awarii. W końcu kultura “blameless post-mortem” powinna już u nas zagościć na stałe.
Testuj Kubernetes bez węzłów z Kwok
Jeśli chcesz potestować bardziej samo API Kubernetesa lub tylko jego komponenty z Control Plane (np. scheduler) to może Cię zainteresować projekt Kwok.
Dzięki niemu odpalisz okrojonego Kubernetesa z nawet tysiącem nieistniejących węzłów i puścisz wodze fantazji. To nawet lepsze niż istniejący już wcześniej symulator planisty (czyli schedulera). Do testów w ramach potoków CI/CD jak znalazł!
Zarządzanie kosztami ma sens, ale… większość tego nie robi
Jeden z powodów dlaczego firmy używają Kubernesa to koszty. Te są szczególnie ważne ostatnio, gdy słyszymy o zwolnieniach mających poprawić sytuację finansową wielu organizacji.
I pomimo tego, że nie jest to super złożone (między innymi dzięki OpenCost) to według Sysdig bardzo niewiele organizacji się na to decyduje.
Zarządzanie rezerwacjami, limitami, priorytetami, autoskalowanie podów i klastra – to wszystko jest na wyciągnięcie ręki. Nigdy nie było łatwiej oszczędzać na infrastrukturze i wyciskać na maksa z dostępnych zasobów.
To też powód, dla którego coraz więcej klastrów on-prem jest stawianych na bare-metal (bez vSphere), ale to już historia na oddzielny wątek.
Twórz automatycznie mapy połączeń między podami
Masz duży klaster? Nie łapiesz się co z czym gada? Może chcesz w końcu utworzyć reguły NetworkPolicy?
Jeśli tak to sprawdź ten projekt, który automatycznie utworzy Ci mapy połączeń między podami w Twoim klastrze.
Zapomnij o OPA lub Kyverno – nadchodzi CEL
Kyverno jest fajne, OpenPolicyAgent w sumie też. Niemniej mają one jedną wadę – trzeba je instalować i utrzymywać.
Na szczęście nadchodzi natywne rozwiązanie do filtrowania żądań przychodzących do klastra. To Common Expression Language, czyli w skrócie CEL. Co prawda jest jeszcze w fazie alpha, ale już teraz możesz sprawdzić jak to działa.
Dla mnie osobiście to jedna z najfajniejszych z dodatkowych funkcjonalności Kubernetes, która pozwala na zrobienie niemalże wszystkiego z Twoim klastrem. Dla dużych środowisk nie wyobrażam sobie działania bez tego.
Jeszcze lepsza integracja Vault z Kubernetes
HashiCorp wypuścił niedawno dedykowany operator dla Vaulta. Wygląda przepięknie! Teraz integracja z Kubernetes i konfiguracja dostępu do danych z Vaulta jest bajecznie prosta. Do tego jest wsparcie dla rotowania danych dla natywnych obiektów (Deployment, DaemonSet, StatefulSet) i wsparcie dla metryk w formacie Prometheus.
Proponuję przynajmniej potestować, a później ruszyć pełną parą razem na przykład z dynamicznym dostępem do baz.