Примечание. В этой статье я покажу только развертывание вашего Flask API в Google App Engine. Чтобы узнать, как создать проект и включить выставление счетов в GCP, вы можете перейти к этой документации.
Шаг 1: Перейдите в консоль GCP и перейдите к любому проекту или выберите существующий проект, который вы увидите ниже, как на изображении. Я выбрал название проекта flaskapi.
Шаг 2. Теперь перейдите на панель навигации и выберите Панель инструментов Google App Engine в разделе вычислений.
Шаг 3. Теперь выберите вариант Cloud Shell.
Шаг 4. Нажмите кнопку Запустить редактор.
Мы получим новую вкладку, которая выглядит как на изображении ниже. Вы можете видеть, что четыре проекта уже имеют свои названия 0, 1, 2, 3. Я загружу новый проект.
Шаг 5: Теперь мы загрузим нашу сжатую папку проекта, которую мы уже протестировали на локальном хосте с помощью flask API. Помните, что мы должны создать файл requirements.txt в нашем проекте, чтобы ядро приложения могло устанавливать пакеты.
Шаг 6. Мы разархивируем папку, введя следующую команду в Cloud Shell.
unzip <zip file name>
Мы можем видеть нашу разархивированную папку на боковой панели. Внутри папки я уже создал необходимые файлы, такие как requirements.txt, Predictor.py для предсказания и load.py для загрузки моделей.
Шаг 7: Теперь мы создадим новый файл app.yaml, в котором будет сохранен наш файл main.py. Этот файл помогает нам установить конфигурации для нашего движка приложения, например, сколько оперативной памяти нам нужно, какую версию Python мы должны использовать и т. д.
Шаг 8. Теперь для базового развертывания в стандартной версии ядра приложения Google мы введем следующую команду и сохраним ее. Чтобы добавить дополнительную конфигурацию, вы можете перейти к документации Google YAML.
# How we launch our file entrypoint: gunicorn -b :$PORT main:app # Which runtime we will used i have used python 3.7 runtime: python37 # These setting are for Deep Learning Models # cpu for our processor # memory_gb for our ram instance_class: F4 resources: cpu: 2 memory_gb: 4
Примечание. Вы можете прокомментировать класс экземпляра, ресурсы, ЦП и memory_gb, если используете модели машинного обучения, потому что чем выше настройки, тем больше денег вы сожжете.
Шаг 10: Мы перейдем к консоли и введем команду, чтобы выбрать, в рамках какого проекта мы хотим развернуть наш API.
# You can get your project id on your project dashboard. gcloud config set project [PROJECT ID]
Идентификатор моего проекта flaskapi-266011, ваш может быть другим.
Шаг 11: Теперь из консоли мы войдем в папку и введем следующую команду.
# app means our app.yaml file # --version [number] gcloud app deploy --version 1
Он предложит нам выбрать сервер, который я выбрал us-central. Затем он покажет нам процесс развертывания, как показано на изображении ниже.
Мы введем Y и увидим наш API в целевом URL. А затем мы просто подождем процесса развертывания.