Kubernetes 作业和部署之间有什么区别

Muk*_*lan 10 kubernetes kubernetes-deployment kubernetes-jobs

我看到 Kubernetes Job&Deployment提供了非常相似的配置。两者都可以部署一个或多个具有特定配置的 Pod。所以我对这些问题很少有疑问:

  • &.spec.template中的Pod 规格是否不同?JobDeployment
  • JobcompletionsDeployment区别是什么replicas
  • 如果命令在 a 的唯一容器中运行Deployment并完成(没有服务器或守护进程进程容器),则 pod 将终止。这同样适用于a Job。那么这两种资源中的 pod 生命周期有何不同?

Jon*_*nas 15

Kubernetes 中的许多资源都使用Pod 模板。两者DeploymentsJobs使用它,因为它们管理 Pod。

工作负载资源的控制器根据 Pod 模板创建 Pod,并代表您管理这些 Pod。

PodTemplates 是创建 Pod 的规范,包含在 Deployments、Jobs 和 DaemonSets 等工作负载资源中。

Deployments和之间的主要区别Jobs在于它们如何处理终止的 Pod。Deployment 旨在成为一个“服务”,例如它应该启动并运行,因此它将尝试重新启动它管理的 Pod,以匹配所需的副本数量。而作业的目的是执行并成功终止。