UnknownHostException из контейнера в Kubernetes при доступе к БД Aurora - PullRequest
0 голосов
/ 31 января 2019

Я создал кластер kubernetes, используя EKS, и развернул там мое приложение с 3 репликациями.Мое приложение подключается к экземпляру базы данных Aurora, доступной по общедоступному URL.По какой-то причине этим утром (первое использование приложения) в моих журналах pod было исключение UnknownHostException, как показано ниже:

2019-01-30 08:34:47.352  WARN 5 --- [onnection adder] unknown.jul.logger                       : IOException occurred while connecting to my-database-aurora-psql.cc3ft0tcxorz.eu-north-1.rds.amazonaws.com:5999

java.net.UnknownHostException: my-database-aurora-psql.cc3ft0tcxorz.eu-north-1.rds.amazonaws.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_181]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_181]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_181]
at org.postgresql.core.PGStream.<init>(PGStream.java:69) ~[postgresql-42.2.1.jar!/:42.2.1]
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:158) ~[postgresql-42.2.1.jar!/:42.2.1]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) [postgresql-42.2.1.jar!/:42.2.1]
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195) [postgresql-42.2.1.jar!/:42.2.1]
at org.postgresql.Driver.makeConnection(Driver.java:452) [postgresql-42.2.1.jar!/:42.2.1]
at org.postgresql.Driver.connect(Driver.java:254) [postgresql-42.2.1.jar!/:42.2.1]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:117) [HikariCP-2.7.8.jar!/:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:365) [HikariCP-2.7.8.jar!/:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:194) [HikariCP-2.7.8.jar!/:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:460) [HikariCP-2.7.8.jar!/:na]
at com.zaxxer.hikari.pool.HikariPool.access$100(HikariPool.java:71) [HikariCP-2.7.8.jar!/:na]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:697) [HikariCP-2.7.8.jar!/:na]
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:683) [HikariCP-2.7.8.jar!/:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_181]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

У меня есть другое приложение, использующее эту базу данных, и у меня не было проблем с доступом к этому URL-адресу БД,Также из консоли видно, что БД никогда не отключалась.Aurora DB работает в той же зоне AWS, что и кластер EKS Kubernetes.Это как-то связано с проблемой внутренней сети?Использует ли EKS внутреннюю маршрутизацию в этом случае?Я думаю, что, возможно, какой-то внутренний маршрут не сработал, так как у другого приложения, не работающего в этом кластере (вообще не в AWS), не было этой проблемы.

1 Ответ

0 голосов
/ 05 февраля 2019

Это в основном похоже на временную ошибку разрешения DNS, либо на стороне маршрута 53 (которая может объяснить, почему на ваше другое приложение это не повлияло), либо на стороне клиента.Было бы очень трудно отследить это, если только вы не сможете воспроизвести это снова и получить больше журналов / netstats, когда возникла проблема.

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