Linux 为什么pod状态保持为';未决的';?

Linux 为什么pod状态保持为';未决的';?,linux,kubernetes,devops,Linux,Kubernetes,Devops,以下是我得到的输出: [root@ip-10-0-3-103 ec2-user]# kubectl get pod --namespace=migration NAME READY STATUS RESTARTS AGE clear-nginx-deployment-cc77649fb-j8mzj 0/1 Pending 0 118m

以下是我得到的输出:

    [root@ip-10-0-3-103 ec2-user]# kubectl get pod --namespace=migration
    NAME                                          READY   STATUS    RESTARTS   AGE
    clear-nginx-deployment-cc77649fb-j8mzj        0/1     Pending   0          118m
    clear-nginx-deployment-temp-cc77649fb-hxst2   0/1     Pending   0          41s
无法理解json中显示的消息:

*"status": 
{
        "conditions": [
            {
                "message": "0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.",

                "reason": "Unschedulable",
                "status": "False",
                "type": "PodScheduled"
            }
        ],
        "phase": "Pending",
        "qosClass": "BestEffort"
}*
如果你能帮我渡过难关。
前面关于stackoverflow的问题没有回答我的问题,因为我的消息输出不同。

这是因为您的POD已被指示申请存储,但在您的情况下,有可用的存储。 使用
kubectl get Pods-o yaml
检查您的Pods,并查看已应用于集群的确切yaml。在这里,您应该能够看到Pod正在试图声明PersistentVolume(PV)

要快速创建由主机路径支持的PV,请应用以下yaml:

apiVersion:v1 种类:PersistentVolume 元数据: 名称:stackoverflow主机路径 名称空间:迁移 规格: 容量: 存储:10Gi 访问模式: -读写 主机路径: 路径:“/mnt/data”
库伯内特斯将以指数方式再次尝试调度吊舱;要加快速度,请删除一个播客(
kubectl delete pods
),立即重新安排时间。

这是因为您的播客已被指示申请存储,但是,在您的情况下,有可用的存储空间。 使用
kubectl get Pods-o yaml
检查您的Pods,并查看已应用于集群的确切yaml。在这里,您应该能够看到Pod正在试图声明PersistentVolume(PV)

要快速创建由主机路径支持的PV,请应用以下yaml:

apiVersion:v1 种类:PersistentVolume 元数据: 名称:stackoverflow主机路径 名称空间:迁移 规格: 容量: 存储:10Gi 访问模式: -读写 主机路径: 路径:“/mnt/data”
库伯内特斯将以指数方式再次尝试调度吊舱;要加快速度,请删除一个播客(
kubectl delete pods
),立即重新安排时间。

这是否回答了您的问题?您还需要发布k8s.yaml以部署此pod。看起来您正在尝试装载一个尚未创建的卷。您好@JoshBeaured,我已经验证了在发布部署(最终是POD)之前已部署了所需的pv和pvc。好的,您的群集是在多区域环境中吗?是否由于数据中心的限制,该卷连接到您的pod无法装载的工作机?我在EKS遇到过这种情况。这能回答你的问题吗?您还需要发布k8s.yaml以部署此pod。看起来您正在尝试装载一个尚未创建的卷。您好@JoshBeaured,我已经验证了在发布部署(最终是POD)之前已部署了所需的pv和pvc。好的,您的群集是在多区域环境中吗?是否由于数据中心的限制,该卷连接到您的pod无法装载的工作机?我在EKS中遇到过这种情况。谢谢你的回答@F1ko,但让我告诉你,我实际上是在发布部署,而不是pod。pod是作为部署内replicaset的一部分创建的。现在,为了确保受尊重的pv和pvc可用于未来的POD声明,我正在发布部署之前创建一个pv和一个pv声明。假设,如果我在部署yaml中谈论一个名为“站点数据”的pv和一个名为“演示pv索赔”的pvc,那么一个名为“站点数据”的pv和一个名为“演示pv索赔”的pvc将已经存在,以供进一步处理。请询问是否需要更多信息。@kkpareek:由于名称中有两个散列值,很明显这是一个部署,但是,所有重要信息都在pod清单中。没有太多关于pod、pv和pvc的信息,这是一个“盲”调试会话。从我的头脑中至少有4个可能的原因,为什么这可能会发生在你身上,没有进一步的信息,很难给出一个确切的答案,为什么会发生在你身上。你在用CSI吗?你在云端吗?你的清单是什么样子的?谢谢你的回答@F1ko,但让我告诉你,我实际上是发布了一个部署,而不是pod。pod是作为部署内replicaset的一部分创建的。现在,为了确保受尊重的pv和pvc可用于未来的POD声明,我正在发布部署之前创建一个pv和一个pv声明。假设,如果我在部署yaml中谈论一个名为“站点数据”的pv和一个名为“演示pv索赔”的pvc,那么一个名为“站点数据”的pv和一个名为“演示pv索赔”的pvc将已经存在,以供进一步处理。请询问是否需要更多信息。@kkpareek:由于名称中有两个散列值,很明显这是一个部署,但是,所有重要信息都在pod清单中。没有太多关于pod、pv和pvc的信息,这是一个“盲”调试会话。从我的头脑中至少有4个可能的原因,为什么这可能会发生在你身上,没有进一步的信息,很难给出一个确切的答案,为什么会发生在你身上。你在用CSI吗?你在云端吗?你的清单是什么样子的?