Kubernetes Pod не может подключиться к локальному postgres серверу с изображением Hasura - PullRequest
0 голосов
/ 03 мая 2020

Я следую этому руководству , чтобы подключить модуль hasura kubernetes к моему локальному postgres серверу.

При создании развертывания контейнер модуля не может подключиться к postgres (CrashLoopBackOff и продолжает повторную попытку), но не дает никаких причин, почему. Вот журналы:

{"type":"pg-client","timestamp":"2020-05-03T06:22:21.648+0000","level":"warn","detail":{"message":"postgres connection failed, retrying(0)."}}

Мой deploy.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: hasura
    hasuraService: custom
  name: hasura
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hasura
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: hasura
    spec:
      containers:
      - image: hasura/graphql-engine:v1.2.0
        imagePullPolicy: IfNotPresent
        name: hasura
        env:
        - name: HASURA_GRAPHQL_DATABASE_URL
          value: postgres://USER:@localhost:5432/my_db
        - name: HASURA_GRAPHQL_ENABLE_CONSOLE
          value: "true"
        ports:
        - containerPort: 8080
          protocol: TCP
        resources: {}

Я использую postgres://USER:@localhost:5432/MY_DB в качестве postgres url - это "localhost" правильный адрес здесь ?

Я убедился, что указанный выше postgres URL работает, когда я пытаюсь (без пароля):

> psql postgres://USER:@localhost:5432/my_db
psql (12.2)
Type "help" for help.

> my_db=#

Как еще я могу устранить его? Логи не очень полезны ...

1 Ответ

1 голос
/ 06 мая 2020

Если я вас правильно понял, проблема в том, что Pod («изнутри» Minikube) не может получить доступ к Postgres, установленному на хост-машине (той, на которой работает сам Minikube) через localhost.

Если это так, проверьте этот поток .

... Виртуальная машина Minikube может получить доступ к локальному хосту вашего хоста по адресу 192.168.99.1 (127.0. 0.1 от Minikube все еще будет локальным хостом Minicube.

Технически, для Стручка localhost - это сам Стручок. Хост-машина и Minikube соединены через мост. Вы можете узнать точные IP-адреса и маршруты с помощью infconfig и route -n на вашем хосте Minikube.

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