Я пытаюсь связаться с сервисом из другого 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
Я не вижу, что я делаю неправильно, я использую ту же настройку для других служб.
Заранее спасибо!