БД локального развития Kubernetes - PullRequest
0 голосов
/ 02 июня 2018

У меня есть локальная настройка кластера kubernetes с использованием крайнего выпуска docker (mac).Мои модули используют env var, который я определил как URL моей БД.Эти env-переменные определены в карте конфигурации как:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config 
data:
  DB_URL: postgres://user@localhost/my_dev_db?sslmode=disable

Что я должен использовать здесь вместо localhost?Мне нужен этот env var для указания на мою локальную машину разработчика.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Вариант 1 - Подход к локальной сети

Если вы используете minikube, я бы порекомендовал взглянуть на ответы на этот вопрос: Направление внутреннего IP-адреса Kubernetes на хост-систему

Вариант 2 - туннельное решение: подключение к внешней службе

Очень простым, но немного хакерским решением было бы использование инструмента туннелирования, такого как ngrok: https://ngrok.com/

Вариант 3 - облачная разработка (запустите все внутри k8s)

Если вы планируете следовать советам whites11, вы можете значительно упростить свою жизнь с помощью kubernetes-native dev tool например, DevSpace (https://github.com/covexo/devspace) или Draft (https://github.com/Azure/draft).) Оба работают с мини-кубами или другими кластерами с самостоятельным размещением.

0 голосов
/ 02 июня 2018

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

Если ваш сетевой адрес динамический, выможет использовать внутреннее DNS-имя, указывающее на ваш компьютер, если в настройках вашей сети он указан.

Другой вариант - запустить вашу базу данных внутри кластера kubernetes: таким образом, вы можете использовать ее service name в качестве имени хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...