Newsletter #90 – Jak dobrze zaprojektować GitOps

Poprzednia część przypadła do gustu i zatem dzisiaj kontynuacja najciekawszych prezentacji z niedawnej konferencji KubeCon 2023 North America.
To co obejrzałem daje mi powody do wniosku, że ekosystem Kubernetesa i Cloud Native, nie licząc modnego AI, skupia się głównie na usprawnianiu GitOps i koncepcji budowania platform (czyli Platform Engineering).
I dzisiaj zajmię się tymi tematami właśnie.

Budowanie platform i GitOps

  1. Zacznę od najlepszej według mnie prezentacji, którą obejrzałem z tej konferencji. Bo ma ona elementy, których zawsze szukam, czyli:
    – ciekawy temat z przykładami
    – ciekawe slajdy bez ton tekstu będące tłem do opowieści
    – ciekawie i pewnie prowadzona ta opowieść
    – dużo tematów w odpowiedniej proporcji prosto/technicznie
    – trochę humoru

    W tej prezentacji zobaczysz jak Spotify radzi sobie z własnymi klastrami, jak do tego używa GitOps i jakie ma wyzwania z deklaratywnością (i jej brakiem).

    💡 Wskazówki dla Ciebie: Kubernetes jest do budowy platform. Te zbudujesz na kontenerach, zarządzisz przez GitOps, a developerom udostępnisz w portalu (Internal Developer Platform) jak np. Backstage.

  2. Jeśli używasz Argo CD lub planujesz go użyć do GitOps to może ucieszy cię, że interfejs webowy może być rozbudowany o Twoje własne elementy. Zobacz w tej prezentacji jakie elementy możesz dodać, a dla specyficznych scenariuszy posłużyć to może jako portal IDP.

    💡 Wskazówki dla Ciebie: Chyba czas na naukę JavaScript, bo poza tym zastosowaniem przyda się też do konfiguracji Backstage i pisania aplikacji w WASM.

  3. Helm Charty są wszędzie i nawet jak ich nie tworzysz (np. wybrałeś Kustomize lub inny sposób) to zarządzając nimi w stylu GitOps rodzą się pytania jak to pożenić ze sobą, gdzie trzymać parametry (values) i jak deklaratywnie skonfigurować to w Argo CD.
    W tej prezentacji zobaczysz ciekawe demo i jeden ze sposobów na integrację.

    💡 Wskazówki dla Ciebie: Unifikuj i twórz konwencje. To usprawni wszystkim pracę, a dobry GitOps jest motorem napędowym kolejnych zmian, bo te są łatwo odwracalne w razie wpadki, której tak często się boimy.

  4. Dobry GitOps to też bezpieczeństwo w kodzie, a to obok RBAC warto wymuszać przez Admission Controllery typu Kyverno.
    Jest jednak dobra wiadomość – od wersji 1.28 w Kubernetesie jest natwyny mechanizm filtrowania, a ta prezentacja w prosty sposób z ciekawym demo pokazuje o co chodzi z CEL.

    💡 Wskazówki dla Ciebie: Kubernetes ma “ułomne” mechanizmy zabezpieczenia API – RBAC nie ma reguł wyłączających i tylko dzięki CEL lub rozwiązaniom typu Kyverno lepiej ogarniesz reguły bezpieczeństwa.

  5. Ten projekt idzie jak burza! Mówię tu o OpenTelemetry. Ustanawia on standardy dla observability, czyli głównie:
    – trace
    – monitoring
    – logowanie
    Ta prezentacja pokazuje jak dużo już zostało zrobione i jakie języki są już w pełni wspierane dla instrumentacji, łącznie z logami.

    💡 Wskazówki dla Ciebie: Monitoring to nie tylko Prometheus, Logi to nie Logstash/Filebeat/Splunk, trace’y to nie Jaeger/Zipkin/OpenTrace – niedługo będziemy mieli ujednolicony standard, a projekty/produkty będą dorzucać swoje ficzery (np. GUI, bo tym OpenTelemetry się nie zajmie).

To tyle z najciekawszych prezentacji. Jak znalazłaś/znalazłeś coś ciekawego to daj znać – uzupełnię w przyszłym newsletterze.

Podobne materiały