Laboratorium 12¶
Uruchomienie opracowanej metody z wykorzystaniem środowiska Kubernetes¶
Przypomnijmy diagram planowanego systemu:
W trakcie obecnego laboratorium zaczniemy prace nad Etapem IV.
Wykorzystując poznane narzędzie Helm oraz platformę Kubernetes opracujemy chart Helmowy dla naszego systemu.
Zadanie 12.1: Przygotowanie charta Helmowego (12 pkt)¶
W poniższych zadaniach kompletnie pomijamy komponenty z Etapu III!
a) Sprawdź, które komponenty opracowanej aplikacji (service
w Docker-Compose) są dostępne jako gotowe charty Helmowe.
b) Dla pozostałych komponentów przygotuj obrazy Dockerowe - m.in. mechanizm pobierania danych z Etapu I oraz Detekcja języka, Wektoryzacja tekstu i zapis do bazy danych z Etapu II. Następnie wybierz jedną z opcji:
A: udostępnij obrazy na platformie Docker Hub
B: zbuduj obrazy na maszynach typu worker w ramach, utworzonego podczas ostatnich zajęć, klastra K3s
c) W repozytorium utwórz chart Helmowy dla naszej aplikacji:
dodaj gotowe charty komponentów z punktu a)
dla każdego komponentu z punktu b) utwórz odpowiednie szablony Helmowe (deployment, service, configmap itd. - w zależności od potrzeb)
zadbaj o wolumeny danych (dla uproszczenia użyj
hostPath
, ale pamiętaj, że w rzeczywistych zastosowaniach należy użyć odpowiedniej Storage Classy, np. EBS, Cinder, NFS)
d) Do odpowiednich komponentów dodaj próbki liveness and readiness, które pozwolą sprawdzić Kubernetesowi czy aplikacja nadal działa poprawnie.
Zadanie 12.2: Wdrożenie aplikacji (3 pkt)¶
Zainstaluj przygotowany chart Helmowy w klastrze K3s
Sprawdź czy wszystko działa poprawnie
Zmień wybraną wartość w pliku
values.yaml
(np. liczba replik komponentu detekcji języka)Przeprowadź rolling update
Sprawdź czy zmiana została poprawnie zaaplikowana
Odwróć zmiany i wróć do poprzedniej wersji aplikacji (rollback)
Zadanie 12.3: Poprawność działania aplikacji (3 pkt)¶
Sprawdź, że dane są zbierane na bieżąco
Pokaż, że Grafana działa i wyświetla dane na bieżąco
Pokaż, że Redash działa i wyświetla dane na bieżąco