7. Cloud Code
● Plugin do IntelliJ oraz Visual Studio do uruchamiania oraz debugowania
aplikacji pod Kubernetes
● Funkcjonalności:
○ Podpowiedź składni dla manifestów
○ Przeglądanie stanu klastra
○ Uruchomienie aplikacji
○ Wsparcie dla debugowania aplikacji
○ Integracja z popularnymi narzędziami: Skaffold, Jib, Kustomize
8.
9. Dekorate
● Generowanie manifestów Kubernetes na podstawie kodu
● Mechanizm bazuje na:
○ analizie kodu źródłowego
○ ustawieniach w plikach konfiguracyjnych
○ adnotacjach
● Wsparcie dla:
○ Kubernetes
○ OpenShift
○ Knative
● Integracje z frameworkami:
○ Spring Boot
○ Quarkus
12. Spring Boot
● Wsparcie dla Kubernetes w projekcie Spring Cloud Kubernetes
● Trzeci najpopularniejszy projekt Spring Cloud, około ~2k GitHub stars
● Początkowo rozwijany przez Fabric8, od Greenwich RT oficjalnie
releasowany przez Spring Cloud
● Dostęp przez API za pomocą klienta io.fabric8
● Funkcjonalności:
○ Implementacja Spring Cloud DiscoveryClient pod Kubernetes
○ Discovery rozciągnięte na wszystkie namespacy (opcjonalnie)
○ Integracja z load balancerem opartym na Spring Cloud Netflix Ribbon
○ Kubernetes ConfigMap i Secret jako źródło konfiguracji używanej przez Spring Boot
○ Implementacja health checka
○ Auto-refresh konfiguracji
14. Micronaut
● Moduł Micronaut Kubernetes tworzony od początku w ramach frameworku
● Własna implementacja klienta API
● Funkcjonalności:
○ Integracja między Micronaut HTTP Client i Kubernetes Endpoints (discovery)
○ Filtrowanie aplikacji po nazwie dla discovery
○ Kubernetes ConfigMap i Secret jako źródło konfiguracji używanej przez Micronaut
○ Wsparcie dla ConfigMap i Secret jako mounted volumes
○ Implementacja health checka (szczegóły opcjonalnie)
○ Auto-refresh konfiguracji
17. Quarkus
● Framework tworzony w dużej mierze pod Kubernetes/OpenShift oparty na
Eclipse MicroProfile
● Rozwijany także przez RedHat
● Małe zużycie pamięci i szybki czas uruchamiania szczególnie przy użyciu
GraalVM
● Automatyczna integracja z Dekorate w zakresie generowania templatów na
podstawie kodu źródłowego
18. KubeMQ
● Message Broker stworzony pod Kubernetes
● Umożliwia łatwe tworzenie i zarządzanie wielo-podowym klastrem za
pomocą narzędzia kubemqctl
● Lekki kontener ~30MB
● Łączy rozwiązania zarówno RabbitMQ oraz Kafka w jedno
● Obsługuje zarówno kolejki (queues) jak i pub/sub
● Minusy
○ Rozwiązanie płatne
○ Stosunkowo małe możliwości Java SDK
○ Nadal mało popularne
19.
20. Dziękuję za uwagę!
Piotr Mińkowski
https://twitter.com/piotr_minkowski
https://github.com/piomin
https://piotrminkowski.com