Я пытаюсь установить соединение с моими базами данных, которые находятся вне кластера GKE, внутри кластера.
Я прочитал различные учебные пособия, включая https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-services и несколько вопросов SO, хотя проблема сохраняется.
Вот пример конфигурации, с которой я пытаюсь настроить подключение kafka:
---
kind: Endpoints
apiVersion: v1
metadata:
name: kafka
subsets:
- addresses:
- ip: 10.132.0.5
ports:
- port: 9092
---
kind: Service
apiVersion: v1
metadata:
name: kafka
spec:
type: ClusterIP
ports:
- port: 9092
targetPort: 9092
Я могу получить какой-то ответ, подключившись напрямую через nc 10.132.0.5 9092
от сама виртуальная машина узла, но если я создаю модуль, скажем, по kubectl run -it --rm --restart=Never alpine --image=alpine sh
, то я не могу подключиться изнутри модуля, используя nc kafka 9092
. Все библиотеки в моем коде терпят неудачу из-за тайм-аута, поэтому, похоже, это какая-то проблема с маршрутизацией.
В качестве примера приведен Кафка, у меня такие же проблемы с подключением и к другим базам данных.