Связь между частным GKE и облачным SQL

У меня есть частный кластер GKE с общедоступной главной конечной точкой, у которого есть задания, которым требуется доступ к Cloud SQL. У меня есть облачный SQL-прокси DaemonSet, получающий на 3307, который подключается к реальной БД на 3306.

В моей сети нет исходящего интернета, не добавлены правила брандмауэра. Я получаю ошибку ниже на моем облачном SQL-прокси. Любая помощь в решении этого или руководство о том, как установить соединение между частным GKE и облачным SQL?

не удалось подключиться к "dbinstance": набрать tcp publicip:3307: getsockopt: время ожидания истекло

1 ответ

Решение

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

https://cloud.google.com/sql/docs/mysql/private-ip

или настройка шлюза NAT для вашего кластера:

https://cloud.google.com/solutions/using-a-nat-gateway-with-kubernetes-engine