当我进行滚动更新时,我得到Sentry的例外说法:
DatabaseError('server closed the connection unexpectedly. This probably means the server terminated abnormally before or while processing the request.',...)
我在每个Pod中运行了两个容器,我的app
容器和一个cloudsql-proxy
容器,app
容器用它来与Cloud SQL进行通信。
有没有办法确保我的应用容器在宽限期30秒内终止(terminationGracePeriodSeconds)?
换句话说,我想排空连接,并在取出cloudsql-proxy
之前完成所有当前请求。
如果我可以指定在宽限期30秒内首先取消app
容器,然后cloudsql-proxy
,那将是理想的。
答案 0 :(得分:0)
此discussion建议在清单中设置“terminationGracePeriodSeconds”或"PreStop hook"。
另一个可行的想法是在不同的pod中运行两个容器,以便对rolling update进行精细控制。您可能还需要考虑在部署中使用Init Containers,以允许代理在应用容器之前就绪。