kubernetes - 具有多个容器的作业永远不会成功

标签 kubernetes containers jobs kubernetes-pod

我在 GKE 集群中运行 Kubernetes,需要在每次部署时运行数据库迁移脚本。对于暂存来说,这很容易:我们有一个永久的、独立的 MySQL 服务,它有自己的卷。然而,对于生产,我们使用 GCE SQL,导致作业有两个容器 - 一个用于迁移,另一个用于云代理。

由于这个新容器,作业在运行 kubectl describe jobs/migration 时总是显示为 1 active我完全不知所措。我已经尝试重新排序容器以查看它是否默认检查一个容器,但这没有任何区别,而且我无法找到一种方法来 a) 终止容器或 b) 检查作业中仅一个容器的状态。

有任何想法吗?

最佳答案

我知道现在已经晚了一年,但最佳实践是为所有应用程序的目的运行单个 cloudsql 代理服务,然后在应用程序的镜像中配置数据库访问以将此服务用作数据库主机名。

这样您就不需要将 cloudsql 代理容器放入每个使用 DB 的 pod 中。

关于kubernetes - 具有多个容器的作业永远不会成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42121164/

相关文章:

kubernetes - 访问 Kubernetes clusterIP 服务时请求超时

javascript - 解析服务器 XMLHttpRequest 在保存大型数据集时失败

java - 工具在 Eclipse 插件开发中延迟输出

C++容器/迭代器依赖问题

constructor - Quartz.net IJobDetails 使用手动创建的 IJob 实现

azure - AKS : CI/CD pipeline using AKS

Kubernetes 只读上下文

azure - 当 Pod 在有状态集中重新启动时创建新卷

jenkins - 使用Jenkins运行Docker容器

jquery - 如何使用 css 更改特定页面内的 h2 位置?