Из какого диапазона исходного IP-адреса исходящие соединения от модулей появляются?

Я хочу установить соединения из кластера kubernetes (созданного с помощью az acs create в основном с настройками по умолчанию) для экземпляра Azure Postgresql, и я хотел бы знать, какой диапазон исходных IP-адресов ввести в postgres HBA (это то, что Azure называет firewall-rule под az postgres server).

Дело в том, хотя я вижу из консоли ошибки (при использовании psql проверить) каков текущий IP, из которого поступают запросы кластера

FATAL:  no pg_hba.conf entry for host "x.x.x.x" [...]

... Я просто не вижу этот IP-адрес нигде в свойствах кластера - и в любом случае, это может показаться очень хрупкой конфигурацией, чтобы просто внести белый список в этот IP-адрес, не зная, как он назначен.

(На портале Azure я вижу один "общедоступный IP-адрес", связанный с мастером кластера, но это не то же самое, что IP-адрес, видимый postgres, и, я полагаю, в основном для входа.)

Итак, в идеале, ACS позволяет мне контролировать исходящие IP-адреса для кластера? А если нет, могу ли я программно определить, какой IP или диапазон IP разрешен?

2 ответа

Это должен быть внешний IP-адрес для узла, на котором запланирован модуль, например, на движке контейнера:

$ kubectl get no -o wide
NAME                              STATUS    AGE       VERSION   EXTERNAL-IP       OS-IMAGE                             KERNEL-VERSION
gke-cluster-1-node-1              Ready     58d       v1.5.4    <example node IP> Container-Optimized OS from Google   4.4.21+

$ ssh gke-cluster-1-node-1
$ curl icanhazip.com
<example node IP>

$ kubectl get po -o wide | grep node-1
example-pod-1                                     1/1       Running   0          11d       <pod IP>      gke-cluster-1-node-1
$ kubectl exec -it example-pod-1 curl icanhazip.com
<example node IP>

ACS позволяет мне управлять исходящими IP-адресами для кластера? А если нет, могу ли я программно определить, какой IP или диапазон IP разрешен?

Насколько я знаю, служба контейнеров Azure предоставляет общедоступное приложение-докер через балансировщик нагрузки Azure, а балансировщик нагрузки получает общедоступный IP-адрес.
Кстати, мы не можем указать, какой общедоступный IP-адрес будет связан с балансировщиком нагрузки Azure.

После того, как мы сможем представить приложение в Интернете, мы можем добавить общедоступный IP-адрес в ваш Postgresql HBA postgres.

Другие вопросы по тегам