GSP100

Opis
Google Kubernetes Engine (GKE) to zarządzane środowisko służące do wdrażania i skalowania skonteneryzowanych aplikacji oraz do zarządzania nimi przy użyciu infrastruktury Google. Środowisko GKE składa się z wielu maszyn (w szczególności z instancji Compute Engine), które po zgrupowaniu tworzą klaster kontenerów.
W tym module nauczysz się tworzyć kontenery i wdrażać aplikacje przy użyciu GKE.
Cele
W tym module nauczysz się, jak:
- utworzyć klaster GKE,
- wdrożyć aplikację w klastrze,
- usunąć klaster.
Administracja klastrami za pomocą Google Kubernetes Engine
Klastry Google Kubernetes Engine (GKE) są obsługiwane przez system zarządzania klastrami typu open source – Kubernetes. Kubernetes zapewnia mechanizmy, za pomocą których można wykonywać działania na klastrze kontenerów. Polecenia i zasoby Kubernetes umożliwiają wdrażanie aplikacji i zarządzanie nimi, wykonywanie zadań administracyjnych i ustawianie zasad oraz monitorowanie stanu wdrożonych zadań.
System Kubernetes został zaprojektowany na tych samych zasadach, które są stosowane w popularnych usługach Google. Oferuje on także podobne korzyści: automatyczne zarządzanie, monitorowanie i sondy żywotności kontenerów aplikacji, automatyczne skalowanie, aktualizacje kroczące i wiele więcej. Uruchamiając aplikacje w klastrze kontenerów, korzystasz z technologii opartej na ponad 10 latach doświadczenia Google w zakresie uruchamiania zadań produkcyjnych w kontenerach.
Kubernetes w Google Cloud
Gdy korzystasz z klastra GKE, uzyskujesz także dostęp do funkcji zaawansowanego zarządzania klastrami, które zapewnia Google Cloud. Są to między innymi:
Teraz gdy masz już podstawowe informacje o Kubernetes, w niecałe 30 minut nauczysz się, jak wdrożyć skonteneryzowaną aplikację przy użyciu GKE. Wykonaj kroki opisane poniżej, aby skonfigurować środowisko modułu.
Konfiguracja i wymagania
Zanim klikniesz przycisk Rozpocznij moduł
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ą:
- Dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome).
Uwaga: uruchom ten moduł w oknie incognito (zalecane) lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie dodatkowych opłat na koncie osobistym.
- Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: w tym module używaj tylko konta do nauki. Jeśli użyjesz innego konta Google Cloud, mogą na nim zostać naliczone opłaty.
Rozpoczynanie modułu i logowanie się w konsoli Google Cloud
-
Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się okno, 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.
Uwaga: aby uzyskać dostęp do produktów i usług Google Cloud, kliknij Menu nawigacyjne lub wpisz nazwę usługi albo produktu w polu Szukaj.
Aktywowanie Cloud Shell
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ń Cloud Shell zyskujesz dostęp do swoich zasobów Google Cloud.
-
Kliknij Aktywuj Cloud Shell
na górze konsoli Google Cloud.
-
Kliknij te okna:
- Przejdź przez okno z informacjami o Cloud Shell.
- Zezwól Cloud Shell na używanie Twoich danych logowania w celu wywoływania interfejsu Google Cloud API.
Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze Project_ID . Dane wyjściowe zawierają wiersz z zadeklarowanym identyfikatorem Project_ID dla tej sesji:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
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.
- (Opcjonalnie) Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
gcloud auth list
- Kliknij Autoryzuj.
Dane wyjściowe:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Opcjonalnie) Aby wyświetlić identyfikator projektu, użyj tego polecenia:
gcloud config list project
Dane wyjściowe:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Uwaga: pełną dokumentację gcloud
w Google Cloud znajdziesz w opisie gcloud CLI.
Zadanie 1. Konfigurowanie domyślnej strefy obliczeniowej
Strefa obliczeniowa to przybliżona lokalizacja regionalna, w której znajduje się klaster i jego zasoby. Na przykład us-central1-a
to strefa w regionie us-central1
.
W sesji Cloud Shell uruchom te polecenia:
-
Ustaw domyślny region obliczeń:
gcloud config set compute/region {{{project_0.startup_script.project_region|"REGION"}}}
Oczekiwane dane wyjściowe:
Updated property [compute/region].
-
Ustaw domyślną strefę obliczeniową:
gcloud config set compute/zone {{{project_0.startup_script.project_zone|"ZONE"}}}
Oczekiwane dane wyjściowe:
Updated property [compute/zone].
Zadanie 2. Tworzenie klastra GKE
Klaster składa się z co najmniej 1 maszyny z masterem klastra oraz z maszyn roboczych nazywanych węzłami. Węzły to maszyny wirtualne Compute Engine, na których działają procesy Kubernetes niezbędne do utworzenia klastra.
Uwaga: nazwy klastrów muszą rozpoczynać się literą, kończyć znakiem alfanumerycznym i nie mogą mieć więcej niż 40 znaków.
Uruchom to polecenie:
-
Utwórz klaster
gcloud container clusters create --machine-type=e2-medium --zone={{{project_0.startup_script.project_zone|ZONE}}} lab-cluster
Wszystkie ostrzeżenia w wynikach można zignorować. Tworzenie klastra może potrwać kilka minut.
Oczekiwane dane wyjściowe:
NAME: lab-cluster
LOCATION: {{{project_0.startup_script.project_zone|ZONE}}}
MASTER_VERSION: 1.22.8-gke.202
MASTER_IP: 34.67.240.12
MACHINE_TYPE: e2-medium
NODE_VERSION: 1.22.8-gke.202
NUM_NODES: 3
STATUS: RUNNING
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło. Utworzenie klastra GKE
Zadanie 3. Uzyskiwanie danych uwierzytelniających klastra
Po utworzeniu klastra musisz uzyskać dane uwierzytelniające, aby móc z niego korzystać.
Zadanie 4. Wdrażanie aplikacji w klastrze
Możesz teraz wdrożyć w klastrze skonteneryzowaną aplikację. W tym module uruchomisz w klastrze aplikację hello-app
.
GKE używa obiektów Kubernetes do tworzenia zasobów klastra i zarządzania nimi. Kubernetes zapewnia obiekt Deployment służący do wdrażania aplikacji bezstanowych, takich jak serwery WWW. Obiekty Service definiują reguły i równoważą obciążenie związane z uzyskiwaniem dostępu do aplikacji z internetu.
-
Aby utworzyć nowy obiekt Deployment hello-server
na podstawie obrazu kontenera hello-app
, uruchom następujące polecenie kubectl create
:
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0
Oczekiwane dane wyjściowe:
deployment.apps/hello-server created
To polecenie Kubernetes tworzy obiekt wdrożenia, który reprezentuje aplikację hello-server
. W tym przypadku --image
wskazuje obraz kontenera do wdrożenia. To polecenie pobiera przykładowy obraz z zasobnika Container Registry. Ścieżka gcr.io/google-samples/hello-app:1.0
wskazuje określoną wersję obrazu do pobrania. Jeśli jej nie podasz, zostanie użyta najnowsza wersja.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło. Utworzenie nowego obiektu Deployment: hello-server
-
Aby utworzyć obiekt Service systemu Kubernetes, który jest zasobem Kubernetes umożliwiającym udostępnienie aplikacji dla ruchu z zewnątrz, uruchom to polecenie kubectl expose
:
kubectl expose deployment hello-server --type=LoadBalancer --port 8080
W tym poleceniu:
-
--port
określa port udostępniany przez kontener,
-
type="LoadBalancer"
tworzy system równoważenia obciążenia Compute Engine kontenera.
Oczekiwane dane wyjściowe:
service/hello-server exposed
-
Aby sprawdzić obiekt Service wdrożenia hello-server
, uruchom polecenie kubectl get
:
kubectl get service
Oczekiwane dane wyjściowe:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-server loadBalancer 10.39.244.36 35.202.234.26 8080:31991/TCP 65s
kubernetes ClusterIP 10.39.240.1 433/TCP 5m13s
Uwaga: wygenerowanie zewnętrznego adresu IP może potrwać około minuty.
Jeśli w kolumnie EXTERNAL-IP
jest widoczny stan pending (oczekuje), ponownie uruchom ostatnie polecenie.
-
Aby wyświetlić aplikację w przeglądarce, otwórz nową kartę i wpisz następujący adres, zastępując fragment [EXTERNAL IP]
wartością EXTERNAL-IP
wdrożenia hello-server
.
http://[EXTERNAL-IP]:8080
Oczekiwane dane wyjściowe: w karcie przeglądarki wyświetla się wiadomość Hello, world! oraz wersja aplikacji i nazwa hosta.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło. Utworzenie obiektu Service w Kubernetes
Zadanie 5. Usuwanie klastra
-
Aby usunąć klaster, uruchom to polecenie:
gcloud container clusters delete lab-cluster
-
Gdy pojawi się prośba o potwierdzenie, wpisz Y.
Usuwanie klastra może potrwać kilka minut. Aby dowiedzieć się więcej o usuwaniu klastrów z Google Kubernetes Engine (GKE), przeczytaj artykuł o usuwaniu klastrów.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło. Usunięcie klastra
Gratulacje!
Skonteneryzowana aplikacja została wdrożona w Google Kubernetes Engine. W tym module udało Ci się utworzyć klaster GKE, wdrożyć w nim skonteneryzowaną aplikację i go usunąć. Możesz wykorzystać tę wiedzę do wdrażania własnych aplikacji przy użyciu GKE.
Kolejne kroki / Więcej informacji
Ten moduł należy do serii modułów Qwik Start. Opracowano je tak, aby umożliwić Ci wypróbowanie różnorodnych funkcji dostępnych w Google Cloud. Wyszukaj „Qwik Start” w katalogu Google Cloud Skills Boost i znajdź kolejny interesujący Cię moduł.
Szkolenia i certyfikaty Google Cloud
…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: 13 lutego 2024 r.
Ostatni test modułu: 26 stycznia 2024 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.