Контрольні точки
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
Огляд
Google Kubernetes Engine (GKE) забезпечує кероване середовище для розгортання й масштабування контейнерних додатків і керування ними на основі інфраструктури Google. Середовище GKE складається з кількох машин (а саме екземплярів Compute Engine), згрупованих у контейнерний кластер.
У цій практичній роботі ви створюватимете контейнери й розгортатимете додатки за допомогою GKE.
Цілі
Під час цієї практичної роботи ви навчитеся виконувати наведені нижче дії.
- Створювати кластер GKE
- Розгортати додаток у кластері
- Видаляти кластер
Оркестрація кластерів за допомогою Google Kubernetes Engine
Керування кластерами Google Kubernetes Engine (GKE) здійснюється за допомогою відповідної системи Kubernetes із відкритим кодом. Kubernetes забезпечує механізми для взаємодії з контейнерним кластером. Команди й ресурси Kubernetes використовуються для розгортання додатків і керування ними, виконання адміністративних завдань, встановлення правил і відстеження стану розгорнутих навантажень.
Kubernetes спирається на ті самі принципи проектування, що й популярні сервіси Google, і надає ті самі переваги: автоматичне керування, відстеження й перевірку життєздатності для контейнерів додатків, автоматичне масштабування, випуск оновлень тощо. Для запуску додатків на контейнерному кластері використовується технологія, створена компанією Google на основі понад 10 років досвіду організації робочих навантажень у контейнерах.
Kubernetes на Google Cloud
З кластером GKE ви отримуєте функції розширеного керування, які забезпечує Google Cloud. Ці функції перелічено нижче.
- Розподіл навантаження для екземплярів Compute Engine.
- Пули вузлів для визначення підмножин вузлів у кластері, що забезпечує додаткову гнучкість.
- Автоматичне масштабування кількості екземплярів вузлів кластера.
- Автоматичне оновлення програмного забезпечення вузла кластера.
- Автоматичне відновлення вузла для підтримки його працездатності й доступності.
- Ведення журналу й відстеження за допомогою Cloud Monitoring із метою отримання даних про кластер.
Ви вже маєте загальне уявлення про Kubernetes, а тепер менш ніж за 30 хвилин навчитеся розгортати контейнерний додаток із GKE. Виконайте наведені нижче кроки, щоб налаштувати середовище для практичної роботи.
Налаштування й вимоги
Перш ніж натиснути кнопку Start Lab (Почати практичну роботу)
Ознайомтеся з наведеними нижче вказівками. На виконання практичної роботи відводиться обмежений час, і її не можна призупинити. Щойно ви натиснете Start Lab (Почати практичну роботу), з’явиться таймер, який показуватиме, скільки часу для роботи з ресурсами Google Cloud у вас залишилося.
Ви зможете виконати практичну роботу в дійсному робочому хмарному середовищі (не в симуляції або демонстраційному середовищі). Для цього на час виконання практичної роботи вам надаються тимчасові облікові дані для реєстрації і входу в Google Cloud.
Щоб виконати цю практичну роботу, потрібно мати:
- стандартний веб-переглядач, наприклад Chrome (рекомендовано)
- достатню кількість часу, оскільки почавши практичну роботу, ви не зможете призупинити її
Як почати виконувати практичну роботу й увійти в Google Cloud Console
-
Натисніть кнопку Start Lab (Почати практичну роботу). Якщо за практичну роботу необхідно заплатити, відкриється спливаюче вікно, де ви зможете обрати спосіб оплати. Ліворуч розміщено панель Lab Details (Відомості про практичну роботу) з такими даними:
- кнопка Open Google Cloud console (Відкрити Google Cloud Console);
- час до закінчення;
- тимчасові облікові дані, які потрібно використовувати для доступу до цієї практичної роботи;
- інша інформація, необхідна для виконання цієї практичної роботи.
-
Натисніть Open Google Cloud console (Відкрити Google Cloud Console) або натисніть правою кнопкою миші й виберіть Open Link in Incognito Window (Відкрити посилання в анонімному вікні), якщо ви використовуєте вебпереглядач Chrome.
Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою Sign in (Вхід).
Порада. Упорядковуйте вкладки в окремих вікнах, розміщуючи їх поруч.
Примітка. Якщо з’явиться вікно Choose an account (Виберіть обліковий запис), натисніть Use Another Account (Увійти в інший обліковий запис). -
За потреби скопіюйте значення в полі Username (Ім’я користувача) нижче й вставте його у вікні Sign in (Вхід).
{{{user_0.username | "Username"}}} Поле Username (Ім’я користувача) також можна знайти на панелі Lab Details (Відомості про практичну роботу).
-
Натисніть Next (Далі).
-
Скопіюйте значення в полі Password (Пароль) нижче й вставте його у вікні Welcome (Привітання).
{{{user_0.password | "Password"}}} Поле Password (Пароль) також можна знайти на панелі Lab Details (Відомості про практичну роботу).
-
Натисніть Next (Далі).
Важливо. Обов’язково використовуйте облікові дані, призначені для відповідної практичної роботи. Не використовуйте облікові дані Google Cloud. Примітка. Якщо ввійти у власний обліковий запис Google Cloud, може стягуватися додаткова плата. -
Виконайте наведені нижче дії.
- Прийміть Умови використання.
- Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
- Не реєструйте безкоштовні пробні версії.
Через кілька секунд Google Cloud Console відкриється в новій вкладці.
Як активувати Cloud Shell
Cloud Shell – це віртуальна машина з попередньо завантаженими інструментами для розробників. Вона містить головний каталог обсягом 5 ГБ постійної пам’яті й працює в середовищі Google Cloud. Cloud Shell надає доступ до ресурсів Google Cloud через командний рядок.
- Угорі консолі Google Cloud натисніть Activate Cloud Shell (Активувати Cloud Shell) .
Щойно ви підключитеся, вас буде автентифіковано, а проект отримає ваш PROJECT_ID (ІДЕНТИФІКАТОР ПРОЕКТУ). Вивід міститиме рядок зі значенням PROJECT_ID (ІДЕНТИФІКАТОР ПРОЕКТУ) для цього сеансу:
gcloud
– це інструмент командного рядка для Google Cloud. Він входить у пакет Cloud Shell і підтримує функцію автозавершення клавішею TAB.
- (Необов’язково) Щоб вивести поточне ім’я облікового запису, введіть таку команду:
-
Натисніть Authorize (Авторизувати).
-
Вихідні дані матимуть такий вигляд:
Вивід:
- (Необов’язково) Щоб вивести ідентифікатор проекту, введіть таку команду:
Вивід:
Приклад виводу:
gcloud
, перегляньте посібник з інтерфейсу командного рядка gcloud у Google Cloud.
Завдання 1. Установіть зону обчислення за умовчанням
Зона обчислення – це приблизне місцеположення, де розташовано ваші кластери з відповідними ресурсами. Наприклад, us-central1-a
– це зона в межах регіону us-central1
.
Виконайте наведені нижче команди в сеансі Cloud Shell.
-
Укажіть регіон обчислення за умовчанням:
gcloud config set compute/region {{{project_0.startup_script.project_region|"REGION"}}} Очікуваний вивід:
Updated property [compute/region]. -
Укажіть зону обчислення за умовчанням:
gcloud config set compute/zone {{{project_0.startup_script.project_zone|"ZONE"}}} Очікуваний вивід:
Updated property [compute/zone].
Завдання 2. Створіть кластер GKE
Кластер складається зі щонайменше однієї головної машини кластера й кількох робочих машин, що називаються вузлами. Вузли – це екземпляри віртуальної машини (ВМ) Compute Engine, на яких запущено процеси Kubernetes, що роблять їх частиною кластера.
Виконайте наведену нижче команду.
-
Створіть кластер:
gcloud container clusters create --machine-type=e2-medium --zone={{{project_0.startup_script.project_zone|ZONE}}} lab-cluster
На попередження у виводі можна не зважати. Кластер буде створено протягом кількох хвилин.
Очікуваний вивід:
Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Завдання 3. Отримайте облікові дані для автентифікації кластера
Щоб взаємодіяти з кластером, потрібні облікові дані для автентифікації.
-
Автентифікуйте кластер:
gcloud container clusters get-credentials lab-cluster Очікуваний вивід:
Fetching cluster endpoint and auth data. kubeconfig entry generated for my-cluster.
Завдання 4. Розгорніть додаток у кластері
Тепер можна розгорнути контейнерний додаток у кластері. У цій практичній роботі ви запускаєте в кластері додаток hello-app
.
Для створення ресурсів кластера й керування ними GKE використовує об’єкти Kubernetes. Об’єкт Deployment (Розгортання) використовується для розгортання додатків без відстеження стану, наприклад вебсерверів. Об’єкти Service (Сервіс) визначають правила й розподіл навантаження для доступу до додатка через Інтернет.
-
Щоб створити новий об’єкт Deployment
hello-server
з образу контейнераhello-app
, виконайте таку командуkubectl create
:kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0 Очікуваний вивід:
deployment.apps/hello-server created Ця команда Kubernetes створює об’єкт Deployment, що представляє
hello-server
. У цьому випадку--image
указує на образ контейнера, який потрібно розгорнути. За допомогою цієї команди можна отримати приклад образу із сегмента Container Registry.gcr.io/google-samples/hello-app:1.0
указує потрібну версію образу. Якщо певна версія не вказана, використовується остання.Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Створіть новий об’єкт Deployment: hello-server. -
Щоб створити об’єкт Kubernetes Service (ресурс Kubernetes, який забезпечує доступ до додатка зовнішньому трафіку), виконайте таку команду
kubectl expose
:kubectl expose deployment hello-server --type=LoadBalancer --port 8080 У цій команді:
-
--port
є портом, доступ до якого забезпечує контейнер; -
type="LoadBalancer"
створює розподілювач навантаження Compute Engine для контейнера.
Очікуваний вивід:
service/hello-server exposed -
-
Щоб перевірити об’єкт Service
hello-server
, виконайте командуkubectl get
:kubectl get service Очікуваний вивід:
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 Примітка. Зовнішню IP-адресу буде створено протягом хвилини. Виконайте попередню команду ще раз, якщо стовпець EXTERNAL-IP
перебуває в статусі очікування. -
Щоб переглянути додаток через вебпереглядач, відкрийте нову вкладку й введіть наведену нижче адресу, замінивши
[EXTERNAL-IP]
на значенняEXTERNAL-IP
дляhello-server
.http://[EXTERNAL-IP]:8080 Очікуваний вивід: на вкладці вебпереглядача відображаються версія, ім’я хоста й повідомлення Hello, world!.
Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Створіть об’єкт Kubernetes Service.
Завдання 5. Видаліть кластер
-
Щоб видалити кластер, виконайте цю команду:
gcloud container clusters delete lab-cluster -
Якщо з’явиться відповідний запит, введіть Y, щоб підтвердити.
Видалення кластера може тривати кілька хвилин. Щоб дізнатися більше про видалення кластерів GKE з Google Kubernetes Engine, перегляньте цю статтю.
Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Видаліть кластер.
Вітаємо!
Ви розгорнули контейнерний додаток на Google Kubernetes Engine. Під час цієї практичної роботи ви створили кластер GKE, розгорнули контейнерний додаток у ньому й видалили кластер. Тепер завдяки цим знанням ви можете застосовувати GKE для власних додатків.
Наступні кроки/Докладніше
Це завдання також входить до низки практичних робіт під назвою Qwik Starts. Вони призначені для ознайомлення з функціями Google Cloud. Такі практичні роботи можна знайти в каталозі Google Cloud Skills Boost за запитом "Qwik Starts".
Навчання й сертифікація Google Cloud
…допомагають ефективно використовувати технології Google Cloud. Наші курси передбачають опанування технічних навичок, а також ознайомлення з рекомендаціями, що допоможуть вам швидко зорієнтуватися й вивчити матеріал. Ми пропонуємо курси різних рівнів – від базового до високого. Ви можете вибрати формат навчання (за запитом, онлайн або офлайн) відповідно до власного розкладу. Пройшовши сертифікацію, ви перевірите й підтвердите свої навички та досвід роботи з технологіями Google Cloud.
Посібник востаннє оновлено 13 лютого 2024 року
Практичну роботу востаннє протестовано 26 січня 2024 року
© Google LLC 2024. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.