在kubernetes pod上获取错误没有这样的设备或地址

问题描述 投票:1回答:1

我有一些dotnet核心应用程序作为微服务运行到GKE(谷歌kubernetes引擎)。

通常一切正常,但有时,如果我的微服务没有被使用,我的应用程序关闭会发生一些事情(与终端上的CTRL + C相同)。

我知道这是kubernetes的行为,但如果我请求未运行的应用程序,我的第一个请求将返回错误:“没有这样的设备或地址”或超时错误。

我将发布一些日志和设置:

program.cs setup

gateway error log

microservice log

timeout error

application start running after sometime with database timeout error

kubernetes .net-core
1个回答
1
投票

发生的事情的关键是这个记录的错误:

TNS: Connect timeout occured ---> OracleInternal.Network....

由于未使用您的应用程序,Oracle数据库只是关闭它的空闲连接。要解决这个问题,您可以做两件事:

  1. 处理应用程序内部的断开连接以重新连接。
  2. 定义livenessProbe以在应用程序关闭后自动重新启动pod。
  3. 让您的应用程序不时地使用连接做一些事情 - >这也可以通过探测器来完成。
  4. 配置Oracle数据库不要关闭空闲连接。
© www.soinside.com 2019 - 2024. All rights reserved.