Wprowadzenie do Cloud Run
- Opis
- Konfiguracja i wymagania
- Zadanie 1. Włączanie Cloud Run API i konfigurowanie środowiska powłoki
- Zadanie 2. Tworzenie przykładowej aplikacji
- Zadanie 3. Konteneryzowanie aplikacji i przesyłanie jej do Artifact Registry
- Zadanie 4. Wdrożenie w Cloud Run
- Zadanie 5. Czyszczenie danych
- Kończenie modułu
- Gratulacje!
Opis
Cloud Run to zarządzana platforma obliczeniowa, która umożliwia uruchamianie bezstanowych kontenerów wywoływanych przez żądania HTTP. Cloud Run jest rozwiązaniem bezserwerowym, które nie wymaga zarządzania infrastrukturą, dzięki czemu możesz skupić się na tym, co najważniejsze, czyli tworzeniu świetnych aplikacji.
Cloud Run opiera się na platformie Knative, co pozwala uruchamiać w pełni zarządzane kontenery w Cloud Run lub kontenery w klastrze Google Kubernetes Engine przy użyciu Cloud Run w GKE.
Celem tego modułu jest utworzenie obrazu prostej, skonteneryzowanej aplikacji i wdrożenie jej w Cloud Run.
Cele
W tym module dowiesz się, jak:
- włączyć interfejs Cloud Run API;
- utworzyć prostą aplikację Node.js, którą można wdrożyć jako bezserwerowy i bezstanowy kontener;
- skonteneryzować aplikację i przesłać ją do Artifact Registry;
- wdrożyć skonteneryzowaną aplikację w Cloud Run;
- usunąć niepotrzebne obrazy, żeby uniknąć dodatkowych opłat za miejsce na dane.
Konfiguracja i wymagania
W przypadku każdego modułu otrzymujesz bezpłatnie i na określony czas nowy projekt Google Cloud oraz zbiór zasobów.
-
Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, w którym możesz wybrać formę płatności. Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:
- przyciskiem Otwórz konsolę Google Cloud;
- czasem, który Ci pozostał;
- tymczasowymi danymi logowania, których musisz użyć w tym module;
- innymi informacjami potrzebnymi do ukończenia modułu.
-
Kliknij Otwórz konsolę Google Cloud (lub kliknij prawym przyciskiem myszy i wybierz Otwórz link w oknie incognito, jeśli korzystasz z przeglądarki Chrome).
Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.
Wskazówka: otwórz karty obok siebie w osobnych oknach.
Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta. -
W razie potrzeby skopiuj nazwę użytkownika znajdującą się poniżej i wklej ją w oknie logowania.
{{{user_0.username | "Username"}}} Nazwę użytkownika znajdziesz też w panelu Szczegóły modułu.
-
Kliknij Dalej.
-
Skopiuj podane niżej hasło i wklej je w oknie powitania.
{{{user_0.password | "Password"}}} Hasło znajdziesz też w panelu Szczegóły modułu.
-
Kliknij Dalej.
Ważne: musisz użyć danych logowania podanych w module. Nie używaj danych logowania na swoje konto Google Cloud. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami. -
Na kolejnych stronach wykonaj następujące czynności:
- Zaakceptuj Warunki korzystania z usługi.
- Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
- Nie rejestruj się w bezpłatnych wersjach próbnych.
Poczekaj, aż na karcie otworzy się konsola Google Cloud.
Aktywowanie Google Cloud Shell
Google Cloud Shell to maszyna wirtualna oferująca wiele narzędzi dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud.
Dzięki wierszowi poleceń Google Cloud Shell zyskujesz dostęp do swoich zasobów Google Cloud.
-
Na pasku narzędzi w prawym górnym rogu w konsoli Cloud kliknij przycisk Otwórz Cloud Shell.
-
Kliknij Dalej.
Uzyskanie dostępu do środowiska i połączenie się z nim może zająć kilka chwil. Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Na przykład:
gcloud to narzędzie wiersza poleceń Google Cloud. Jest ono już zainstalowane w Cloud Shell i obsługuje funkcję autouzupełniania po naciśnięciu tabulatora.
- Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
Dane wyjściowe:
Przykładowe dane wyjściowe:
- Aby wyświetlić identyfikator projektu, użyj tego polecenia:
Dane wyjściowe:
Przykładowe dane wyjściowe:
Dokumentacja
Podstawowe polecenia w Linuksie
Poniżej zamieściliśmy listę kilku podstawowych poleceń w Linuksie, które mogą być zawarte w instrukcjach lub blokach kodu w tym module.
Polecenie --> | Działanie | . | Polecenie --> | Działanie |
---|---|---|---|---|
mkdir (make directory) | tworzy nowy folder | . | cd (change directory) | zmienia lokalizację na inny folder |
ls (list ) | tworzy listę plików i folderów w katalogu | . | cat (concatenate) | odczytuje zawartość pliku bez używania edytora |
apt-get update | aktualizuje bibliotekę systemu zarządzania pakietami | . | ping | wysyła sygnał, aby sprawdzić osiągalność hosta |
mv (move) | przenosi plik | . | cp (copy) | tworzy kopię pliku |
pwd (present working directory ) | pokazuje obecną lokalizację | . | sudo (super user do) | nadaje wyższe uprawnienia administracyjne |
Zadanie 1. Włączanie Cloud Run API i konfigurowanie środowiska powłoki
- W Cloud Shell włącz Cloud Run API:
- Jeśli pojawi się prośba o autoryzowanie wykorzystania Twoich danych logowania, zrób to. Następnie wyświetli się komunikat o udanym przeprowadzeniu operacji podobny do tego:
- Ustaw region obliczeń:
- Utwórz zmienną środowiskową LOCATION:
Zadanie 2. Tworzenie przykładowej aplikacji
W tym zadaniu utworzysz prostą aplikację NodeJS opartą na platformie Express, która odpowiada na żądania HTTP.
- W Cloud Shell utwórz nowy katalog o nazwie
helloworld
i wyświetl go:
-
Następnie będziesz tworzyć i edytować pliki. Pliki możesz edytować w edytorze kodu Cloud Shell lub
nano
. Żeby to zrobić, kliknij przycisk Otwórz edytor w Cloud Shell. -
Utwórz plik
package.json
i dodaj do niego tę treść:
Co najważniejsze, ten plik zawiera polecenie skryptu startowego i zależność od platformy Express umożliwiającej tworzenie aplikacji internetowych.
-
Naciśnij kolejno CTRL+X, Y oraz Enter, aby zapisać plik
package.json
. -
Następnie w tym samym katalogu utwórz plik
index.js
i skopiuj do niego te wiersze:
Ten kod tworzy podstawowy serwer WWW, który nasłuchuje na porcie określonym przez zmienną środowiskową PORT
. Aplikacja jest gotowa i możesz ją teraz skonteneryzować i przesłać do Artifact Registry.
- Naciśnij kolejno CTRL+X, Y oraz Enter, aby zapisać plik
index.js
.
Zadanie 3. Konteneryzowanie aplikacji i przesyłanie jej do Artifact Registry
- Żeby skonteneryzować przykładową aplikację, utwórz nowy plik o nazwie
Dockerfile
w tym samym katalogu, w którym znajdują się pliki źródłowe, i dodaj tę treść:
-
Naciśnij kolejno CTRL+X, Y oraz Enter, żeby zapisać plik
Dockerfile
. -
Teraz utwórz obraz kontenera przy pomocy Cloud Build, uruchamiając podane poniżej polecenie z katalogu zawierającego
Dockerfile
(zwróć uwagę na zmienną środowiskową $GOOGLE_CLOUD_PROJECT w poleceniu, która zawiera identyfikator projektu z modułu):
Cloud Build to usługa, która uruchamia Twoje kompilacje w Google Cloud. Wykonuje ona serię kroków kompilacji – każdy z nich jest przeprowadzany w kontenerze Dockera, aby utworzyć kontener aplikacji (lub inne artefakty) i przekazać go do rejestru Artifact Registry, a to wszystko w ramach jednego polecenia.
Gdy kontener zostanie przekazany do rejestru, wyświetli się komunikat z informacją o udanym przeprowadzeniu operacji i nazwą obrazu (gcr.io/[PROJECT-ID]/helloworld
). Obraz będzie przechowywany w Artifact Registry i w razie potrzeby można go użyć ponownie.
- Użyj tego polecenia, aby sporządzić listę wszystkich obrazów kontenerów związanych z bieżącym projektem:
- Zarejestruj
gcloud
jako asystenta danych logowania we wszystkich rejestrach Dockera obsługiwanych przez Google:
- Aby przetestować aplikację lokalnie w Cloud Shell, uruchom ją przy użyciu tego standardowego polecenia usługi
docker
:
- W oknie Cloud Shell kliknij Podgląd w przeglądarce i wybierz Podejrzyj na porcie 8080.
Powinno się otworzyć okno przeglądarki z komunikatem „Hello World”. Możesz też użyć polecenia curl localhost:8080
.
Zadanie 4. Wdrożenie w Cloud Run
- Skonteneryzowaną aplikację możesz wdrożyć w Cloud Run przy pomocy tego polecenia, do którego należy dodać identyfikator projektu:
Flaga allow-unauthenticated w tym poleceniu sprawia, że usługa jest dostępna publicznie.
- Gdy pojawi się prośba, potwierdź
service name
, naciskając Enter.
Poczekaj chwilę na zakończenie wdrażania.
Kiedy operacja zostanie wykonana, w wierszu poleceń wyświetli się URL usługi:
Możesz teraz zobaczyć wdrożony kontener, otwierając URL usługi w dowolnym oknie przeglądarki.
Gratulacje! Właśnie wdrożyliśmy w Cloud Run aplikację spakowaną do obrazu kontenera. Cloud Run automatycznie skaluje obraz kontenera w poziomie, aby obsługiwać otrzymane żądania, a następnie skaluje go w dół, gdy zapotrzebowanie maleje. We własnym środowisku płacisz tylko za procesor, pamięć i sieć wykorzystywane w trakcie obsługiwania żądań.
W tym module używaliśmy wiersza poleceń gcloud
. Usługa Cloud Run jest również dostępna w konsoli Cloud.
- Otwórz Menu nawigacyjne i w sekcji Technologia bezserwerowa kliknij Cloud Run. Powinna się wyświetlić Twoja usługa
helloworld
:
Zadanie 5. Czyszczenie danych
Cloud Run nie nalicza opłat, gdy usługa nie jest używana, ale może zostać pobrana należność za przechowywanie utworzonego obrazu kontenera.
- Możesz usunąć projekt Google Cloud, co spowoduje zaprzestanie naliczania opłat za wszelkie zasoby wykorzystywane w ramach tego projektu, albo usunąć tylko obraz
helloworld
przy użyciu tego polecenia:
-
Kiedy pojawi się prośba, wpisz
Y
i naciśnij Enter, żeby przejść dalej. -
Żeby usunąć usługę Cloud Run, użyj tego polecenia:
- Kiedy pojawi się prośba, wpisz
Y
i naciśnij Enter, żeby przejść dalej.
Kończenie modułu
Po ukończeniu modułu kliknij Zakończ moduł. Google Cloud Skills Boost usunie wykorzystane zasoby i wyczyści konto.
Po zakończeniu modułu będzie można ocenić związane z nim wrażenia. Wybierz odpowiednią liczbę gwiazdek, wpisz komentarz, a następnie kliknij Prześlij.
Liczba gwiazdek oznacza odpowiednie oceny:
- 1 gwiazdka – bardzo zła,
- 2 gwiazdki – zła,
- 3 gwiazdki – neutralna,
- 4 gwiazdki – dobra,
- 5 gwiazdek – bardzo dobra.
Jeśli nie chcesz dzielić się swoją opinią, możesz zamknąć okno dialogowe.
Jeśli chcesz przesłać swoją opinię, sugestie lub propozycje poprawek, użyj karty Pomoc.
Gratulacje!
Moduł ukończony.
Kolejne kroki / Więcej informacji
Więcej informacji o tworzeniu, na podstawie kodu, bezstanowego kontenera HTTP, który będzie odpowiedni do zastosowania w Cloud Run, i przekazywaniu go do Artifact Registry znajdziesz w tych materiałach (w języku angielskim):
Copyright 2020 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.