Punkty kontrolne
Creating a Kubernetes Engine cluster
/ 25
Create a new Deployment - hello-server
/ 25
Create a Kubernetes Service
/ 25
Clean up: Delete the cluster
/ 25
Google Kubernetes Engine: Qwik Start
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:
- równoważenie obciążenia w instancjach Compute Engine;
- pule węzłów służące do wyznaczania podzbiorów węzłów w klastrze, co zapewnia dodatkową elastyczność;
- automatyczne skalowanie liczby instancji węzłów w klastrze;
- automatyczne uaktualnienia oprogramowania węzłów klastra;
- automatyczna naprawa węzłów, dzięki której węzły są zawsze dostępne i utrzymywane w dobrym stanie;
- logowanie i monitorowanie w Cloud Monitoring zapewniające informacje o klastrze.
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).
- Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Rozpoczynanie modułu i logowanie się w konsoli Google Cloud
-
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 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.
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:
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:
-
Kliknij Autoryzuj.
-
Dane wyjściowe powinny wyglądać tak:
Dane wyjściowe:
- (Opcjonalnie) Aby wyświetlić identyfikator projektu, użyj tego polecenia:
Dane wyjściowe:
Przykładowe dane wyjściowe:
gcloud
w Google Cloud znajdziesz w opisie narzędzia wiersza poleceń gcloud.
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.
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:
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Zadanie 3. Uzyskiwanie danych uwierzytelniających klastra
Po utworzeniu klastra musisz uzyskać dane uwierzytelniające, aby móc z niego korzystać.
-
Uwierzytelnij się w klastrze:
gcloud container clusters get-credentials lab-cluster Oczekiwane dane wyjściowe:
Fetching cluster endpoint and auth data. kubeconfig entry generated for my-cluster.
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 kontenerahello-app
, uruchom następujące poleceniekubectl 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żkagcr.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 poleceniekubectl 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żeniahello-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 2024 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.