
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Download the monolith code and build your container
/ 10
Create a kubernetes cluster and deploy the application
/ 20
Create a containerized version of orders and product Microservices
/ 20
Deploy the new microservices
/ 20
Create a containerized version of the Frontend microservice
/ 10
Deploy the Frontend microservice
/ 20
W Challenge Lab (module-wyzwaniu) otrzymasz scenariusz i zestaw zadań. Zamiast instrukcji krok po kroku użyjesz umiejętności zdobytych w poszczególnych modułach szkolenia, rozwiązując zadania samodzielnie. Automatyczny system oceniania (widoczny na tej stronie) poinformuje Cię, czy zadanie zostało wykonane poprawnie.
W Challenge Lab nie będziemy uczyć Cię nowych pojęć związanych z Google Cloud. Musisz za to poszerzyć nabyte umiejętności, takie jak zmiana domyślnych wartości oraz czytanie i analizowanie komunikatów o błędach, po to, by naprawiać popełnione przez siebie błędy.
Aby zdobyć 100% punktów, musisz ukończyć wszystkie zadania w określonym czasie.
Ten moduł przeznaczony jest dla użytkowników, którzy zapisali się na kurs Build a Website on Google Cloud. Podejmujesz się wyzwania?
Zapoznaj się z tymi instrukcjami. Moduły mają limit czasowy i nie można ich zatrzymać. Gdy klikniesz Rozpocznij moduł, na liczniku wyświetli się informacja o tym, na jak długo udostępniamy Ci zasoby Google Cloud.
W tym praktycznym module możesz spróbować swoich sił w wykonywaniu opisywanych działań w prawdziwym środowisku chmury, a nie w jego symulacji lub wersji demonstracyjnej. Otrzymasz nowe, tymczasowe dane logowania, dzięki którym zalogujesz się i uzyskasz dostęp do Google Cloud na czas trwania modułu.
Do ukończenia modułu potrzebne będą:
Wyznaczono Ci nowe obowiązki w firmie FancyStore, Inc.
Twoim zadaniem jest podzielenie monolitycznej witryny e-commerce, która należy do Twojej firmy, na szereg logicznie oddzielonych mikroserwisów. Dotychczasowy monolityczny kod znajduje się w repozytorium GitHub. Wykonasz konteneryzację aplikacji, a następnie jej refaktoryzację.
Zakładamy, że dysponujesz umiejętnościami oraz wiedzą, które są potrzebne do wykonania tych zadań, dlatego nie będziesz mieć do dyspozycji szczegółowych przewodników.
Poproszono Cię o przejęcie kierownictwa nad tym projektem, jako że członkowie poprzedniego zespołu, sfrustrowani monolitycznością zadania, postanowili rzucić wszystko i wyjechać w Bieszczady. Twoim zadaniem jest pobranie kodu źródłowego, utworzenie z niego kontenera (jeden z poprzedników pozostawił plik Dockerfile) i przekazanie go do GKE.
Zacznij od skompilowania, wdrożenia i przetestowania aplikacji monolitycznej, by mieć pewność, że kod źródłowy działa. Potem rozdziel poszczególne usługi składowe na wdrożenia mikroserwisów.
W FancyStore, Inc. obowiązują standardy, które musisz uwzględnić:
Utwórz swój klaster w regionie
Stosuj nazewnictwo typu zespół-zasób – możesz na przykład nazwać instancję fancystore-orderservice1.
Przydzielaj zasoby o ekonomicznych rozmiarach. Projekty są monitorowane, a nadmierne wykorzystanie zasobów spowoduje zakończenie projektu, który z nich korzysta.
Używaj typu maszyny e2-medium
, chyba że instrukcje będą inne.
Siadasz przy biurku, włączasz nowego laptopa i otrzymujesz listę zadań do wykonania. Powodzenia!
Zaloguj się w swoim nowym projekcie i otwórz Cloud Shell.
Musisz zacząć od skopiowania repozytorium git swojego zespołu. W katalogu głównym projektu znajduje się skrypt setup.sh, który musisz uruchomić, aby utworzyć kontener aplikacji monolitycznej.
Po uruchomieniu skryptu setup.sh
sprawdź, czy w Cloud Shell jest uruchomiona najnowsza wersja nodeJS:
Pojawi się kilka różnych projektów, które można utworzyć i przekazać do repozytorium.
Przekaż kompilację monolityczną (znajdującą się w katalogu monolith
) do Google Container Registry. W folderze ~/monotlith-to-microservices/monolith
znajduje się plik Dockerfile, którego możesz użyć do utworzenia kontenera aplikacji.
Musisz uruchomić Cloud Build (w tym folderze monolith), by go utworzyć, a potem przekazać do GCR.
Nadaj swojemu artefaktowi tę nazwę:
Podpowiedź:
Pamiętaj, by przesłać kompilację o nazwie
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Teraz gdy udało Ci się utworzyć obraz i przekazać go do rejestru kontenerów, możesz utworzyć klaster i wdrożyć w nim ten obraz.
Przekazano Ci zalecenie, aby wdrażać wszystkie zasoby w strefie
Nazwa klastra:
Region:
Liczba węzłów: 3
Podpowiedź:
Pamiętaj, aby klaster nazywał się
Po skompilowaniu obrazu i uruchomieniu klastra przyszedł czas, aby wdrożyć aplikację.
Musisz wdrożyć skompilowany obraz w utworzonym klastrze. Spowoduje to uruchomienie aplikacji, ale dostęp do niej będzie możliwy dopiero wtedy, gdy udostępnisz ją do użytku publicznego. Twój zespół przekazał Ci, że aplikacja działa na porcie 8080, ale musisz udostępnić ją na porcie 80, który jest bardziej przyjazny dla użytkowników.
Strona powinna wyglądać tak:
Podpowiedź:
Pamiętaj, aby wdrożenie nazywało się
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Po skompilowaniu i wdrożeniu aplikacji monolitycznej Fancy Store możesz zacząć dzielić ją na mikroserwisy.
Kiedy witryna monolityczna działa już w GKE, możesz rozpocząć dzielenie usług na poszczególne mikroserwisy. Zazwyczaj planuje się, które usługi powinny zostać podzielone na mniejsze kawałki. Najczęściej taki podział jest zgodny z konkretnymi częściami aplikacji, takimi jak obszary biznesowe.
Dla celów tego wyzwania przyjmijmy, że udało Ci się już podzielić aplikację monolityczną na mikroserwisy: Zamówienia, Produkty i Frontend. Twój kod jest gotowy i teraz możesz wdrożyć usługi.
Są 3 usługi, które musisz podzielić na osobne kontenery. Ponieważ przenosisz wszystkie usługi do kontenerów, musisz w przypadku każdej z nich zwrócić szczególną uwagę na te informacje:
Tworzenie skonteneryzowanej wersji mikroserwisów
Poniżej znajduje się zestaw usług, które masz skonteneryzować.
Mikroserwis zamówień |
|
Mikroserwis produktów |
|
Podpowiedź: pamiętaj, aby przesłać kompilację o nazwie
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Wdróż te nowe kontenery, wykonując te same czynności co przy aplikacji monolitycznej
Mikroserwis zamówień |
|
Mikroserwis produktów |
|
UWAGA: zanotuj adresy IP obydwu usług (zamówienia i produkty) po ich udostępnieniu. Będziesz ich potrzebować w kolejnych krokach.
http://ORDERS_EXTERNAL_IP/api/orders
http://PRODUCTS_EXTERNAL_IP/api/products
Jeśli wdrożenia są poprawne, każda usługa zwróci ciąg tekstowy JSON.
Podpowiedź: pamiętaj, by wdrożenia nazywały się
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Po wyodrębnieniu obydwu mikroserwisów (zamówień i produktów) musisz skonfigurować usługę frontendu w taki sposób, by je wskazywała, a potem ją wdrożyć.
nano
zastąp lokalny adres URL adresem IP nowego mikroserwisu produktów:Po otwarciu w edytorze Twój plik powinien wyglądać tak:
REACT_APP_PRODUCTS_URL
na nowy format, podając adresy IP mikroserwisów zamówień i produktów w odpowiednich miejscach poniżej:Naciśnij kolejno CTRL+O, ENTER i CTRL+X, aby zapisać plik w edytorze nano
.
Teraz ponownie skompiluj aplikację frontendową, zanim ją skonteneryzujesz.
Gdy mikroserwisy zamówień i produktów są skonteneryzowane i wdrożone, a usługa frontendu skonfigurowana w taki sposób, by je wskazywać, ostatnim etapem jest skonteneryzowanie i wdrożenie frontendu.
Utwórz pakiet zawierający usługę frontendu za pomocą Cloud Build i przekaż go do Container Registry.
Zachowaj cierpliwość, gdyż ten proces może potrwać kilka minut.
Podpowiedź: pamiętaj, aby przesłać kompilację o nazwie
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Wdróż ten kontener, wykonując te same czynności co przy mikroserwisach zamówień i produktów.
Wyświetli się strona główna witryny Fancy Store z linkami do stron produktów i zamówień, obsługiwanych przez nowe mikroserwisy.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Ten moduł do samodzielnego ukończenia wchodzi w skład kursu Build a Website on Google Cloud, po którego ukończeniu otrzymasz odznakę umiejętności. Za ukończenie kursu otrzymujesz widoczną powyżej odznakę – stanowi ona potwierdzenie Twojego osiągnięcia. Pochwal się nią w swoim CV i mediach społecznościowych, oznaczając swoje osiągnięcie hashtagiem #GoogleCloudBadge.
Ta odznaka umiejętności jest częścią portfolio modernizacji infrastruktury. Kontynuuj naukę, przeszukując katalog pod kątem ponad 20 innych kursów, na które możesz się zapisać (otrzymasz za nie odznakę umiejętności).
…pomogą Ci wykorzystać wszystkie możliwości technologii Google Cloud. Nasze zajęcia obejmują umiejętności techniczne oraz sprawdzone metody, które ułatwią Ci szybką naukę i umożliwią jej kontynuację. Oferujemy szkolenia na poziomach od podstawowego po zaawansowany prowadzone w trybach wirtualnym, na żądanie i na żywo, dzięki czemu możesz dopasować program szkoleń do swojego napiętego harmonogramu. Certyfikaty umożliwią udokumentowanie i potwierdzenie Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.
Ostatnia aktualizacja instrukcji: 5 grudnia 2023 r.
Ostatni test modułu: 5 grudnia 2023 r.
Copyright 2025 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.
Ta treść jest obecnie niedostępna
Kiedy dostępność się zmieni, wyślemy Ci e-maila z powiadomieniem
Świetnie
Kiedy dostępność się zmieni, skontaktujemy się z Tobą e-mailem
One lab at a time
Confirm to end all existing labs and start this one