代码之家  ›  专栏  ›  技术社区  ›  platypus

执行滚动更新Kubernetes时,Postgres连接被拒绝(通过CloudSQL代理)

  •  0
  • platypus  · 技术社区  · 8 年前

    当我进行滚动更新时,哨兵会说:

    DatabaseError('server closed the connection unexpectedly. This probably means the server terminated abnormally before or while processing the request.',...)

    每个吊舱里有两个集装箱 app 容器和a cloudsql-proxy 容器 应用程序 容器用于与云SQL通信。

    有没有办法确保我的应用程序容器在30秒的宽限期(terminationGracePeriodSeconds)内先关闭?

    换句话说,我希望耗尽连接并在 cloudsql代理 已取出。

    如果我可以指定 应用程序 首先在30秒的宽限期内取下容器,然后 cloudsql代理 .

    1 回复  |  直到 8 年前
        1
  •  0
  •   Carlos    8 年前

    这 discussion 建议设置 “terminationGracePeriodSeconds” 或者 "PreStop hook" 在清单中。

    另一个可行的想法是在不同的豆荚中运行两个容器,以便对 rolling update . 您可能还想考虑使用 Init Containers 在部署中,允许代理在应用程序容器之前准备就绪。

    推荐文章