在 kubernetes 中运行 CRON jon 和 GCP Cloud SQL 代理的最佳方法是什么

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

我希望你们都做得很好!

我在项目中寻找解决这个问题的最佳方法时遇到了困难,最后,我鼓起勇气在 Stackoverflow 上发布了这个问题(请不要欺负我)。

我有一个 cron 作业,它运行相当长的时间来完成任务,并且该 cron 作业需要连接到数据库,所以我使用 cloud-sql-proxy。

目前,我使用 Kubernetes sidecar 模式,其中 cron 是主映像,cloud-sql-proxy 映像是辅助映像。

我目前的问题是,当我的 cron 作业完成时,cloud-sql-proxy 仍在运行,我尝试使用这种方法https://cotton-ori.medium.com/how-to-terminate-a-side -car-container-in-kubernetes-job-2468f435ca99 一旦 cron 完成,我就会终止 cloud-sql-proxy 进程。但由于 cloud-sql-proxy 映像不允许除 cloud-sql-proxy 之外的任何可执行文件,我无法实现这种方法。

这里有人能解决这个问题吗

  1. Cron 作业等待 cloud-sql-proxy 准备就绪
  2. cloud-sql-proxy 准备就绪后,运行 cron 作业
  3. 一旦 cron 作业完成,也停止 cloud-sql-proxy
  4. kubernetes pod 已完成。

谢谢您的回答。希望大家有美好的一天!

postgresql kubernetes proxy cron cloud-sql-proxy
1个回答
0
投票

使用 --quitquitquit 参数启动 cloud-sql-proxy。它将部署一个端点来关闭。

从主容器中优雅地关闭容器

 exit_code=$?; curl -X POST localhost:9091/quitquitquit && exit $exit_code

学分:https://stackoverflow.com/a/76989549/25073061

© www.soinside.com 2019 - 2024. All rights reserved.