Соединение Отказаться от связи с модулем - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь связаться с сервисом из другого Pod, но я не могу получить к нему доступ.

Я использую GKE, я пробовал разные порты и настройки и изучал код: https://github.com/spreaker/prometheus-pgbouncer-exporter

Мой файл развертывания содержит:

spec:
    containers:
        - name: exporter
          image: ...
          ports:
          - containerPort: 9127
          env:
             ...

И службу:

type: NodePort
  ports:
    - port: 9127
      protocol: "TCP"
      name: exporter

Когда я пытаюсь описать svc:

Name:                     ...-pg-bouncer-exporter-service
Namespace:                backend
Labels:                   app=...-pg-bouncer-exporter
Annotations:              <none>
Selector:                 app=...-pg-bouncer-exporter
Type:                     NodePort
IP:                       10.0.19.80
Port:                     exporter  9127/TCP
TargetPort:               9127/TCP
NodePort:                 exporter  31296/TCP
Endpoints:                10.36.7.40:9127
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

И сам Pod:

Containers:
  exporter:
    Container ID:   docker://...
    Image:          ...
    Image ID:       docker-pullable:...
    Port:           9127/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Wed, 10 Jul 2019 11:17:38 +0200
    Ready:          True
    Restart Count:  0

Если я получаю доступ к контейнеру, я получаю правильно данные из curl:

/ # curl localhost:9127/metrics
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes ....

Также выполняю переадресацию порта на сервис, который онработает:

$ kubectl port-forward services/...-pg-bouncer-exporter-service 9127:9127 -n backend
Forwarding from 127.0.0.1:9127 -> 9127
Forwarding from [::1]:9127 -> 9127
Handling connection for 9127

Теперь я получаю эту ошибку от другого модуля в той же сети:

curl 10.36.7.40:9127/metrics
curl: (7) Failed to connect to 10.36.7.40 port 9127: Connection refused

Также, если я создаю LivenessProbe TCP для 9127, я получаю эту ошибку:

Liveness probe failed: dial tcp 10.36.7.40:9127: connect: connection refused

Я не вижу, что я делаю неправильно, я использую ту же настройку для других служб.

Заранее спасибо!

1 Ответ

2 голосов
/ 10 июля 2019

Итак, проблема была:

Вместо использования 127.0.0.1 для PGBOUNCER_EXPORTER_HOST я должен использовать 0.0.0.0.

Это решает проблему.

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