Початок роботи з Cloud Run
- Огляд
- Налаштування й вимоги
- Завдання 1. Увімкніть Cloud Run API і налаштуйте середовище Shell
- Завдання 2. Напишіть тестовий додаток
- Завдання 3. Помістіть додаток у контейнер і завантажте в Artifact Registry
- Завдання 4. Розгорніть додаток за допомогою Cloud Run
- Завдання 5. Видаліть непотрібні об’єкти
- Завершіть завдання
- Вітаємо!
Огляд
Cloud Run – це керована платформа обчислення, на якій можна запускати контейнери без статусу через запити HTTP. Платформа безсерверна: вам не доведеться керувати інфраструктурою, тож ви зможете зосередитися на головному – створенні додатків.
Cloud Run створено на основі Knative: ви можете керувати роботою контейнерів лише за допомогою Cloud Run або запустити їх у кластері Google Kubernetes Engine за допомогою Cloud Run у GKE.
Мета цієї практичної роботи – створити простий образ контейнерного додатка й розгорнути його в Cloud Run.
Цілі
Виконуючи цю практичну роботу, ви навчитеся виконувати наведені нижче дії.
- Вмикати Cloud Run API.
- Створювати простий додаток Node.js, який можна розгорнути як безсерверний контейнер без статусу.
- Поміщати додаток у контейнер і завантажувати в Artifact Registry.
- Розгортати контейнерний додаток на Cloud Run.
- Видаляти непотрібні образи, щоб уникнути додаткових витрат на зберігання.
Налаштування й вимоги
Для кожного практичного заняття ви безкоштовно отримуєте новий проект Google Cloud і набір ресурсів на визначений період часу.
-
Натисніть кнопку Почати заняття. Якщо за практичне заняття необхідно заплатити, відкриється спливаюче вікно, де ви зможете обрати спосіб оплати. Ліворуч розміщено панель Відомості про практичне заняття з такими компонентами:
- кнопка Відкрити консоль Google;
- час до закінчення;
- тимчасові облікові дані, які потрібно використовувати для доступу до цього практичного заняття;
- інша інформація, необхідна для виконання цього практичного заняття.
-
Натисніть Відкрити консоль Google або натисніть правою кнопкою миші й виберіть Відкрити анонімне вікно, якщо ви використовуєте вебпереглядач Chrome.
Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою Вхід.
Порада. Упорядковуйте вкладки в окремих вікнах, розміщуючи їх поруч.
Примітка. Якщо з’явиться вікно Виберіть обліковий запис, натисніть Вибрати інший обліковий запис. -
За потреби скопіюйте значення в полі Username (Ім’я користувача) нижче й вставте його у вікні Вхід.
{{{user_0.username | "Username"}}} Поле Username (Ім’я користувача) також можна знайти на панелі Відомості про практичне заняття.
-
Натисніть Next (Далі).
-
Скопіюйте значення в полі Password (Пароль) нижче й вставте його у вікні Welcome (Привітання).
{{{user_0.password | "Password"}}} Поле Password (Пароль) також можна знайти на панелі Відомості про практичне заняття.
-
Натисніть Next (Далі).
Важливо. Обов’язково використовуйте облікові дані, призначені для відповідного практичного заняття. Не використовуйте облікові дані Google Cloud. Примітка. Якщо ввійти у власний обліковий запис Google Cloud, може стягуватися додаткова плата. -
Що від вас очікується
- Прийміть Умови використання.
- Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
- Не реєструйте безкоштовні пробні версії.
Через кілька секунд Google Cloud Console відкриється в новій вкладці.
Активація Google Cloud Shell
Google Cloud Shell – це віртуальна машина з попередньо завантаженими інструментами для розробників. Вона містить головний каталог обсягом 5 ГБ постійної пам’яті й працює в середовищі Google Cloud.
Google Cloud Shell надає доступ до ресурсів Google Cloud через командний рядок.
-
У консолі Cloud Console на панелі інструментів угорі праворуч натисніть кнопку Open Cloud Shell (Відкрити Cloud Shell).
-
Натисніть Continue (Продовжити).
Налаштування та підключення до середовища триватиме кілька секунд. Щойно ви підключитеся, вас буде автентифіковано, а проект отримає ваш PROJECT_ID (ІДЕНТИФІКАТОР ПРОЕКТУ). Наприклад:
gcloud – це інструмент командного рядка для Google Cloud. Він входить у пакет Cloud Shell і підтримує функцію автозавершення клавішею TAB.
- Щоб вивести поточне ім’я облікового запису, введіть таку команду:
Вихідні дані:
Приклад вихідних даних:
- Щоб вивести ідентифікатор проекту, введіть таку команду:
Вихідні дані:
Приклад вихідних даних:
Довідкові матеріали
Основні команди Linux
Нижче наведено список основних команд Linux, які може бути включено до вказівок або блоків коду для цього завдання.
Команда --> | Дія | . | Команда --> | Дія |
---|---|---|---|---|
mkdir (make directory) | створити нову папку | . | cd (change directory) | призначити іншу папку як місцеположення |
ls (list ) | вивести список файлів і папок у каталозі | . | cat (concatenate) | вивести зміст файлу без використання редактора |
apt-get update | оновити бібліотеку менеджера пакетів | . | ping | надіслати сигнал для перевірки доступності хосту |
mv (move ) | переміщує файл | . | cp (copy) | створює копію файлу |
pwd (present working directory ) | повертає поточне місцеположення | . | sudo (super user do) | надає найвищі права адміністратора |
Завдання 1. Увімкніть Cloud Run API і налаштуйте середовище Shell
- Увімкніть Cloud Run API у Cloud Shell:
- За потреби дайте дозвіл на використання ваших облікових даних. Після цього з’явиться схоже повідомлення про те, що операцію виконано успішно:
- Укажіть регіон обчислення:
- Створіть змінну середовища LOCATION (МІСЦЕЗНАХОДЖЕННЯ):
Завдання 2. Напишіть тестовий додаток
У цьому завданні ви маєте створити тестовий додаток Node.js на основі фреймворку Express, що відповідає на запити HTTP.
- Створіть новий каталог під назвою
helloworld
у Cloud Shell і перенесіть у нього представлення:
-
Далі ви створюєте й редагуєте файли. Для редагування файлів використовується редактор коду
nano
або Cloud Shell. Щоб відкрити редактор, натисніть відповідну кнопку в Cloud Shell. -
Створіть файл
package.json
, а потім додайте в нього такий вміст:
Файл вище містить команду запуску скрипту й залежність від фреймворку вебдодатка Express.
-
Щоб зберегти файл
package.json
, спочатку натисніть Ctrl+X, а потім введіть Y і натисніть клавішу Enter. -
Після цього створіть у тому самому каталозі файл
index.js
і скопіюйте в нього наведені нижче рядки.
Цей код створює базовий вебсервер, який очікує передавання даних на порті, визначеному змінною середовища PORT
. Додаток готовий. Його можна перенести в контейнер і завантажити в Artifact Registry.
- Щоб зберегти файл
index.js
, спочатку натисніть Ctrl+X, а потім введіть Y і натисніть клавішу Enter.
Завдання 3. Помістіть додаток у контейнер і завантажте в Artifact Registry
- Щоб помістити тестовий додаток у контейнер, створіть новий файл під назвою
Dockerfile
у каталозі з вихідними файлами й додайте в нього такий вміст:
-
Щоб зберегти файл
Dockerfile
, спочатку натисніть Ctrl+X, а потім введіть Y і натисніть клавішу Enter. -
Тепер створіть образ контейнера за допомогою Cloud Build – виконайте команду з каталогу, що містить
Dockerfile
. Зверніть увагу на змінну середовища $GOOGLE_CLOUD_PROJECT у команді, що містить ідентифікатор проекту практичної роботи:
Cloud Build – це сервіс, що виконує складання в Google Cloud. Він виконує низку етапів складання, де кожен етап виконується в контейнері Docker, щоб створити контейнер додатка (або інші артефакти) і перемістити його в Artifact Registry за допомогою однієї команди.
Після цього з’явиться повідомлення про те, що контейнер успішно переміщено, з назвою образу (gcr.io/[PROJECT-ID]/helloworld
). Образ зберігається в Artifact Registry. За потреби його можна використати повторно.
- Щоб скласти список усіх образів контейнера, пов’язаних із поточним проектом, виконайте таку команду:
- Укажіть
gcloud
як інструмент для входу для всіх підтримуваних Google реєстрів Docker:
- Щоб запустити й протестувати додаток локально в Cloud Shell, виконайте стандартну команду
docker
:
- У вікні Cloud Shell натисніть опцію Web preview (Попередній перегляд у вебпереглядачі) і виберіть Preview on port 8080 (Переглянути через порт 8080).
Відкриється вікно вебпереглядача з повідомленням "Hello World!" (Привіт, світе!). Також можна використати curl localhost:8080
.
Завдання 4. Розгорніть додаток за допомогою Cloud Run
- Щоб розгорнути контейнерний додаток за допомогою Cloud Run, виконайте наведену нижче команду, додавши ідентифікатор власного проекту.
Завдяки позначці allow-unauthenticated (автентифікація необов’язкова) сервіс стає загальнодоступним.
- За потреби підтвердьте
назву сервісу
, натиснувши клавішу Enter.
Розгортання триватиме кілька хвилин.
У разі успіху в командному рядку з’явиться URL-адреса сервісу:
Тепер можна перейти в розгорнутий контейнер, відкривши URL-адресу сервісу в будь-якому вікні вебпереглядача:
Вітаємо! Ви розгорнули додаток, запакований в образ контейнера, за допомогою Cloud Run. Cloud Run автоматично й горизонтально масштабує образ додатка для обробки отриманих запитів, а в разі скорочення кількості запитів зменшує його масштаб. У власному середовищі ви платите лише за ресурси ЦП, пам’яті й мережі, використані для обробки запитів.
Крім командного рядка gcloud
, можна також використовувати Cloud Run на Cloud Console.
- У меню навігації відкрийте розділ Serverless (Безсерверний) і натисніть Cloud Run. Ви побачите сервіс
helloworld
:
Завдання 5. Видаліть непотрібні об’єкти
Ви не платите за Cloud Run, коли сервіс не використовується, проте з вас може стягуватися плата за зберігання створеного образу контейнера.
- Ви можете видалити проект Google Cloud (у такому разі плата за використані в проекті ресурси не стягуватиметься) або образ
helloworld
за допомогою такої команди:
-
Щоб продовжити, за потреби введіть
Y
і натисніть клавішу Enter. -
Щоб видалити сервіс Cloud Run, виконайте таку команду:
- Щоб продовжити, за потреби введіть
Y
і натисніть клавішу Enter.
Завершіть завдання
Закінчивши виконувати завдання, натисніть кнопку End Lab (Завершити завдання). Google Cloud Skills Boost вилучить використані ресурси й очистить обліковий запис.
Ви зможете оцінити, наскільки вам сподобалося виконувати завдання на платформі. Виберіть потрібну кількість зірочок, введіть коментар і натисніть Submit (Надіслати).
Кількість зірочок відповідає певній оцінці:
- 1 зірочка = зовсім не сподобалося
- 2 зірочки = не сподобалося
- 3 зірочки = не можу сказати напевно
- 4 зірочки = сподобалося
- 5 зірочок = дуже сподобалося
Якщо ви не хочете надсилати відгук, просто закрийте діалогове вікно.
Залишайте свої відгуки, пропозиції або коментарі на вкладці Support (Підтримка).
Вітаємо!
Ви виконали практичну роботу.
Наступні кроки/Докладніше
Щоб дізнатися більше про те, як створити придатний для Cloud Run HTTP-контейнер без статусу з вихідного коду й перемістити його в Artifact Registry, перегляньте наведені нижче статті.
© Google LLC 2022. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.