Учебное пособие для начинающих по Cloud Run

1. Обзор

Cloud Run — это полностью управляемая бессерверная платформа, которая позволяет запускать контейнеры без отслеживания состояния, которые можно вызвать с помощью HTTP-запросов. Cloud Run не требует серверов: он абстрагирует все управление инфраструктурой, поэтому вы можете сосредоточиться на самом важном — создании отличных приложений.

Он создан на основе Knative , что позволяет вам запускать контейнеры либо под полным управлением с помощью Cloud Run, либо в кластере Google Kubernetes Engine с помощью Cloud Run на GKE.

Что вы узнаете

В этой лабораторной работе вы научитесь делать следующее:

  • Развертывание приложения Cloud Run

Предварительные условия

  • Эта лабораторная работа предполагает знакомство со средами Cloud Console и Cloud Shell.

2. Настройка и требования

Настройка облачного проекта

  1. Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы можете обновить его в любое время.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно он обозначается как PROJECT_ID ). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Кроме того, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага, и он останется в силе на протяжении всего проекта.
  • К вашему сведению, есть третье значение — номер проекта , который используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
  1. Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой лаборатории кода не должно стоить много, если вообще стоит. Чтобы отключить ресурсы и не взимать плату за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить весь проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .

Настройка среды

Активируйте Cloud Shell, щелкнув значок справа от панели поиска.

ecdc43ada29e91b.png

В Cloud Shell включите API Cloud Run:

gcloud services enable run.googleapis.com

Если будет предложено авторизоваться, нажмите «Авторизовать», чтобы продолжить.

6356559df3eccdda.png

Это должно привести к успешному сообщению, похожему на это:

Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.

3. Подготовьте заявку

Сначала вы подготовите простое приложение Node.js на основе Express, которое отвечает на HTTP-запросы.

В Cloud Shell создайте новый каталог с именем starter-nodejs и перейдите в него:

mkdir starter-nodejs
cd starter-nodejs

Создайте файл package.json , выполнив команды ниже:

cat > ./package.json << EOF
{
  "name": "cloudrun-starter-app",
  "version": "1.0.0",
  "description": "Node.js Starter Application",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "",
  "license": "Apache-2.0",
  "dependencies": {
    "express": "^4.18.2"
  }
}
EOF

Файл выше содержит команду запуска сценария и зависимость от платформы веб-приложений Express.

Затем в том же каталоге создайте файл index.js , выполнив команды ниже:

cat > ./index.js << EOF
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  console.log('Received a request.');
  res.send("Hello Cloud Run!");
});

const port = process.env.PORT || 8080;

app.listen(port, () => {
  console.log('Listening on port', port);
});
EOF

Этот код создает базовый веб-сервер, который прослушивает порт, определенный переменной среды PORT. Ваше приложение готово и готово к контейнеризации и развертыванию.

4. Развертывание приложения Cloud Run

Запустите команду ниже, чтобы развернуть ваше приложение:

gcloud run deploy starter-app \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --max-instances=3

Подтвердите создание репозитория реестра артефактов:

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created.

Do you want to continue (Y/n)? y

В результате выполнения предыдущей команды будут выполнены следующие шаги:

d661616f9b2fffcf.png

Изучите результаты этих шагов в Cloud Console: Cloud Build , Cloud Storage , Artifact Registry и Cloud Run .

f536961280192919.png

5. Поздравляем!

Поздравляем! Вы только что развернули приложение в Cloud Run.

Что мы рассмотрели:

  • Как развернуть начальное приложение в Cloud Run

Что дальше:

Ознакомьтесь с другими лабораториями Cymbal Eats:

Очистить

Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве, либо удалите проект, содержащий ресурсы, либо сохраните проект и удалите отдельные ресурсы.

Удаление проекта

Самый простой способ избавиться от выставления счетов — удалить проект, созданный вами для этого руководства.