Я надеюсь, что кто-то здесь может иметь представление о том, что вызывает это.У меня есть кластер AKS с несколькими микросервисами, которые обращаются к ресурсам на сервере базы данных Azure Postgres.У меня есть правила брандмауэра, определенные для сервера Postgres как для подсети POD, так и для подсети службы Kubernetes.Все обращения к базам данных на этом сервере Postgres находятся внутри этих подсетей.Нет доступа к этому серверу из внешнего источника.Однако, когда мои службы запускаются, меня всегда поражает это исключение:
2018-12-02 19:23:57.540 INFO [venus,,,] 1 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/]
2018-12-02 19:23:57.543 INFO [venus,,,] 1 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Servlet complexGraphQLServlet mapped to [/graphql/*]
2018-12-02 19:23:57.545 INFO [venus,,,] 1 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Servlet zuulServlet mapped to [/zuul/*]
2018-12-02 19:23:58.037 INFO [venus,,,] 1 --- [ main] o.f.core.internal.util.VersionPrinter : Flyway Community Edition 5.0.7 by Boxfuse
2018-12-02 19:23:58.052 INFO [venus,,,] 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2018-12-02 19:23:58.577 WARN [venus,,,] 1 --- [ main] unknown.jul.logger : SQLException occurred while connecting to mydbserver.postgres.database.azure.com:5432
org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "40.12.13.14", user "postgres", database "mydb", SSL on
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:473)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:205)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
at org.postgresql.Driver.makeConnection(Driver.java:452)
at org.postgresql.Driver.connect(Driver.java:254)
Я не знаю, откуда исходит эта внешняя ссылка на IP.У меня есть несколько открытых IP-адресов, определенных для моего кластера, но ни один из них не соответствует этому адресу 40.12.13.14.Если я создаю правило брандмауэра в настройках своего сервера, это исключение исчезает, и у моих микросервисов нет проблем с доступом к их базам данных.
Если это правило необходимо, я, очевидно, могу добавить его.Проблема в том, что кластер создается с помощью сценария развертывания Python, и он не может создать брандмауэр для этого IP-адреса, поскольку он не знает, каким будет этот адрес, пока не произойдет исключение.Каждый раз, когда я запускаю свой сценарий развертывания для создания нового кластера, IP-адрес, указанный в этом исключении, меняется.
Кто-нибудь знает, с чем связан этот IP-адрес и как я могу определить, каким он будет, поэтому яможно создать требуемое правило брандмауэра?
Питер