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吗?你在云端吗?你的清单是什么样子的?