Kubernetes - подключение к удаленному серверу баз данных через ssh - PullRequest
0 голосов
/ 26 октября 2018

Мы находимся в процессе миграции нашего веб-приложения на модель распределенного приложения с использованием gcloud / docker / K8.У нас есть удаленный сервер базы данных, который настроен на прием соединений только от другого удаленного сервера, т. Е. Чтобы получить доступ к этой базе данных, сначала необходимо подключиться к одному серверу через ssh, используя имя пользователя и пароль, а затем подключиться к базе данных через имя хоста MySQL с обычным пользователем.и пароль.Я пытался выяснить, как мы можем настроить наши модули K8 для создания этого соединения, и кажется, что существует множество различных подходов, которые могли бы работать, но пока нет документированного способа "верного запуска".Наши микросервисы написаны на Lumen и могут успешно подключаться к нашей базе данных dev, которая также удалена, но не является ssh.Какой может быть наш лучший подход?Попробуйте настроить Dockerfile так, чтобы у него были pshs ssh?Или мы должны попытаться подключить службу K8 к БД и подключить к ней модули?

1 Ответ

0 голосов
/ 27 октября 2018

У вас есть три варианта:

  1. Переконфигурируйте свой сетевой уровень, чтобы разрешить удаленный доступ с ваших узлов Kubernetes «исходящие адреса». Также известен как «пробивание дыры в брандмауэре» - что, скорее всего, не вариант, но если это так, то это самое простое решение.
  2. Установите «туннельное» соединение между вашим узлом (ами) и сервером базы данных, используя ssh-туннель - не очень надежный, подверженный проблемам сетевого подключения и возможности восстановления.
  3. Разверните openvpn на сервере базы данных (или узле в той же подсети) и запустите клиент vpn (также можно сделать с openvpn) в подсети POD узлов - реально, безопасно, немного работы, но выполнимо и устойчиво , См. https://github.com/mateothegreat/k8-byexamples-openvpn для полного сквозного примера с документацией.
...