小编典典

Pod 和部署之间有什么区别?

all

我一直在创建 pod,type:deployment但我看到一些文档使用type:pod,更具体地说是多容器 pod
的文档

apiVersion: v1
kind: Pod
metadata:
  name: ""
  labels:
    name: ""
  namespace: ""
  annotations: []
  generateName: ""
spec:
  ? "// See 'The spec schema' for details."
  : ~

但是要创建 pod,我可以只使用部署类型

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: ""
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: ""
    spec:
      containers:
        etc

我注意到 pod 文档说:

create 命令可用于直接创建 Pod,也可以通过 Deployment 创建一个或多个 Pod。强烈建议您使用 Deployment 来创建您的
pod。它监视失败的 Pod,并根据需要启动新的 Pod 以保持指定的数量。如果您不希望部署来监视您的 pod(例如,您的 pod
正在写入非持久性数据,这些数据不会在重新启动后继续存在,或者您的 pod 的生命周期很短),您可以使用以下命令直接创建一个 pod创建命令。

注意:我们建议使用 Deployment 来创建 Pod。仅当您不想创建部署时,才应使用以下说明。

但这提出了一个问题,什么kind:pod是有益的?你能以某种方式在部署中引用 pod 吗?我没有看到办法。看起来您从 pod
中获得的是一些额外的元数据,但没有任何部署选项,例如replica重启策略。一个不持久化数据的 Pod
有什么好处,可以在重启后幸存下来?我想我也可以创建一个带有部署的多容器 pod。


阅读 74

收藏
2022-04-08

共1个答案

小编典典

Pod 和 Deployment 都是 Kubernetes API 中的成熟对象。Deployment 通过 ReplicaSet 管理创建
Pod。它归结为部署将使用从模板中获取的规范创建 Pod。您不太可能需要直接为生产用例创建 Pod。

2022-04-08