Япп, я сказал сагу. Итак, вы хотите сделать кластер GKE с Django и Backend Cloudsql (Postgres), держись за поездку.
Хорошо, вы здесь и читаете это, так что я предполагаю, что вы боретесь с это Анкет
Вот предварительные условия для этого поста:
- у вас есть приложение Django
- Вы можете построить контейнер этого приложения
- Вы в порядке с использованием PostgreSQL в качестве бэкэнда SQL
Если у вас нет, вы можете использовать это
Настройка проекта на Google Cloud.
Создать проект
Первое, что нам нужно сделать, прежде чем мы сможем настроить проект, мы захотим создать проект, чтобы группировать все наши облачные компоненты.
Вы можете создать проект в https://cloud.console.google.com После создания учетной записи в левом верхнем углу экрана. Смотрите скриншот ниже:
Создайте экземпляр Cloudsql
Создайте Postgres cloudsql с частным IP, так как это то, что нам понадобится при подключении GKE к Cloudsql, вы можете технически сделать это, поскольку он является публичным IP, но тогда вам нужно запустить Cloud_sql_proxy
Внутри контейнера Django, так что давайте не будем вдаваться в это прямо сейчас, это на самом деле проще.
После того, как вы создали экземпляр Cloudsql, мы захотим создать пользователя базы данных и базу данных для нашего проекта Django и Grate СОЗДАЙТЕ
, ЧИТАТЬ
, Обновление
В Удалить
пользователю, которому я позвоню MyProject-User
В базу данных мы позвоним MyProject-DB
Анкет
Вещи, которые мы должны помнить из этого, — это частный IP -адрес (можно найти под вкладкой Connection
. Имя базы данных было MyProject-DB
и пользователь базы данных был MyProject-User
и пароль, который вы устанавливаете при создании пользователя. Нам понадобится этот материал позже.
Нажатие изображения Docker в реестр Google Docker (GKE Cluster Deployment Prereq)
Прежде чем создать кластер, мы захотим выяснить, что такое идентификатор вашего проекта, чтобы использовать реестр Google Cloud Docker gcr.io
. Вот как бы вы сделали это, если бы были в каталоге Dockerfile для приложения Django:
docker build . -t gcr.io//django docker push gcr.io/ /django
Это даст нам изображение для развертывания в нашем кластере, когда мы туда доберемся.
Создание кластера
Кластер — это набор узлов, которые будут запускать ваши услуги (экземпляры рабочих нагрузок, мы доберемся до этого).
Я предлагаю, если это ваш первый раз, чтобы создать самый маленький тип физического узла и создать только один узел. Я понимаю, что такая часть побеждает цель, но это сэкономит вам деньги, пока вы все еще выясняете. Также щелкнув Ваш первый кластер
Шаблон также является хорошим началом, но нам нужно щелкнуть Доступность, сеть, безопасность и дополнительные функции
Свяжите в нижней части настройки кластера, и мы стремимся включить настройку VPC-родного.
Развернуть рабочую нагрузку
После того, как вы нажимаете на развертывание на вкладке рабочей нагрузки, вы получите окно с Nginx в разделе изображения, мы собираемся использовать свои собственные. Для этого вы захотите щелкнуть по ссылке Slue Select Select и перейти к изображению, которое мы создали ранее, и вот где мне понадобится, чтобы вы заполнили переменные среды, которые вы установили в разделе выше, которые, как я сказал, — это вещи, которые нужно запомнить Анкет
Разоблачение услуги миру.
Если мы перейдем к разделу «Сервисы» и выберем службу для рабочей нагрузки, которую мы только что развернули, мы можем перенаправить порт Django в порт 80 или любой порт, который вы хотите!
Важные ключевые выводы.
Самый простой способ, которым я мог бы заставить это работать,-это включить включенный кластер GKE Cluster GKE VPC и экземпляр CloudsQl, в котором был включен отдельный IP-раздел.
Поддержка статей
Если вы испортили переменные среды
Если вы думаете, что вы можете настроить переменную среды неправильно перейдите в Конфигурация
Раздел, и вы можете найти карту конфигурации под названием
Анкет
Не стесняйтесь нажимать на одну из этих кнопок, чтобы сигнализировать мне чем -то, что было испорчено с этим. Я был бы рад исправить все, что не сработало для вас.
Оригинал: «https://dev.to/fergyfresh/how-to-put-a-django-app-in-the-cloud-2clg»