独立的 pod 和作为部署的一部分的 pod 声明卷的过程有什么区别吗?

时间:2021-05-19 06:34:27

标签: kubernetes kubernetes-pod persistent-volumes kubernetes-deployment

详细说明问题:

针对这个问题,我将豆荚分为两种类型,

  1. 一个独立的 Pod: 由单独的 yaml 制成的 pod,与生产无关。通常为学习目的而创建。

  2. 部署的 pod 部分: 现在,这个 pod 是部署中副本集的一部分,并在部署部署时自动创建。用户未明确创建这些 Pod。

实际问题是:

这两种类型的 Pod 声明一个 PersistentVolume 有什么区别。

为什么要问这个问题?

是因为第 2 种类型的 pod 仍处于“PENDING”状态,并显示错误消息:

"0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims."

而且,尽管集群上存在特定的 pvs 和 pvcs,但仍会出现上述错误。 在这里解释更多:

Why does pod status remain 'PENDING'?

1 个答案:

答案 0 :(得分:3)

完全没有区别。 在 Kubernetes 集群中,PodPod,但它是创建的。

您在安装卷时遇到的问题可能由多种不同的原因引起。 鉴于缺乏有关您的环境的信息,我只能列出一些最常见的:

  • 您同时在不同的 Pod 上安装相同的 PVC,但 Persistent VolumeAccess Mode 不支持(请参阅 documentation
  • 您用于“待处理”Pod 的 PVC 没有关联的 Persistent Volume(发生这种情况可能有多种原因)。
  • 如果您在云端,则支持您的 PVC 的 PV 可能与调度 Pod 的节点位于不同的可用区,因此无法挂载。

通过使用 kubectl describe pod <podname>

查看 Pending pod 的事件,您可能会获得更多信息