Выполняя шаги, описанные в этой статье, вы сможете быстро и легко развернуть свои приложения в Cloud Run и воспользоваться преимуществами его быстрой и гибкой управляемой вычислительной платформы.

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

Ключевые идеи

Вычислительная платформа. Платформа вычислений – это виртуальная среда, предоставляющая основные ресурсы, такие как вычислительная мощность, память и хранилище, необходимые для запуска приложений и выполнения задач.

Платформа управляемых вычислений. Платформа управляемых вычислений – это облачная служба, которая автоматизирует управление вычислительными ресурсами, включая виртуальные машины, контейнеры и бессерверные функции, для запуска приложений. Он выполняет задачи управления инфраструктурой, такие как выделение ресурсов, масштабирование и установка исправлений, позволяя разработчикам сосредоточиться на написании кода.

Контейнеры. Контейнеры — это портативные, легкие и автономные модули, объединяющие приложение, его зависимости и файлы конфигурации. Они позволяют разработчикам последовательно развертывать и запускать приложения в различных средах, обеспечивая изоляцию от базовой инфраструктуры.

Контейнеры без сохранения состояния. Контейнеры без сохранения состояния — это тип контейнера, который не хранит и не поддерживает какое-либо внутреннее состояние между запросами. Они обрабатывают каждый запрос как отдельную транзакцию, что делает их подходящими для горизонтально масштабируемых и отказоустойчивых приложений.

Масштабирование. Масштабирование — это процесс корректировки объема вычислительных ресурсов, выделенных приложению, в зависимости от его текущего спроса. Это гарантирует, что приложение сможет справляться с колебаниями рабочей нагрузки без ущерба для производительности или доступности.

Автоматическое масштабирование. Автоматическое масштабирование — это функция управляемых вычислительных платформ, которая динамически регулирует количество экземпляров или ресурсов, выделенных приложению, в зависимости от потребностей в реальном времени. Это позволяет приложениям эффективно справляться с различными рабочими нагрузками за счет автоматического увеличения или уменьшения масштаба по мере необходимости.

Вооружившись этим пониманием ключевых концепций, вы готовы заняться практическими аспектами развертывания службы в Cloud Run из исходного кода.

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

Предпосылки

Прежде чем приступить к работе, убедитесь, что у вас выполнены следующие предварительные условия:

  • Аккаунт облачной платформы Google
  • Проект, созданный в Google Cloud Console
  • Google Cloud SDK установлен на вашем локальном компьютере
  • Докер установлен на вашем локальном компьютере
  • Исходный код приложения, которое вы хотите развернуть

Шаг 1: Разработайте свое приложение

Сначала создайте новый каталог для вашего проекта и перейдите к нему:

mkdir simple-cloud-run-service cd simple-cloud-run-service

Создайте файл с именем main.py и добавьте следующее содержимое:

from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello, World!" if __name__ == '__main__': app.run(host='0.0.0.0', port=8080)

Создайте файл requirements.txt в том же каталоге со следующим содержимым:

Шаг 2. Контейнеризация вашего приложения

Первым шагом в развертывании службы в Cloud Run является контейнеризация вашего приложения. Это включает в себя создание Docker-образа вашего приложения, которое можно запускать как контейнер. Чтобы контейнеризировать ваше приложение, вам нужно создать Dockerfile в корневом каталоге вашего приложения.

Вот пример Dockerfile

# Use an official Python runtime as a parent image FROM python:3.9-slim-buster # Set the working directory to /app WORKDIR /app # Copy the current directory contents into the container at /app COPY . /app # Install the required packages RUN pip install --no-cache-dir -r requirements.txt # Make port 8080 available to the world outside this container EXPOSE 8080 # Run the application CMD ["python", "main.py"]

В этом примере мы используем Python в качестве среды выполнения и устанавливаем необходимые пакеты, указанные в файле requirements.txt. Замените на имя основного файла вашего приложения.

Шаг 3. Разверните службу в Cloud Run

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

gcloud run deploy <SERVICE_NAME> \ --source . --region <REGION> \ --platform managed

Замените его именем службы Cloud Run и регионом, в котором вы хотите развернуть службу.

Эта команда развернет вашу службу в Cloud Run и создаст URL-адрес, который вы сможете использовать для доступа к своей службе.

Заключение

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

Первоначально опубликовано на https://blog.lykdat.com 10 мая 2023 г.