kubernetes - 节点在 AWS EKS 中没有可用的卷区域

标签 kubernetes amazon-eks

尝试创建 pod 但出现以下错误:

0/3 个节点可用:1 个节点没有可用的卷区域。

我尝试附加更多卷,但错误仍然相同。

Warning FailedScheduling 2s (x14 over 42s) default-scheduler 0/3 nodes are available: 1 node(s) had no available volume zone, 2 node(s) didn't have free ports for the requested pod ports.

最佳答案

我的问题是 AWS EC2 卷和 Kubernetes PersistentVolume (PV)状态以某种方式不同步/损坏。 Kubernetes 认为存在绑定(bind)的 PV,而 EC2 卷显示为“可用”,未安装到工作节点。 更新:卷的效用不同。 zone 然后是 2 个 EC2 节点中的任何一个,因此无法附加到它们。

解决方案是删除所有相关资源 - StatefulSet,PVC (crucial!) , 光伏。然后我能够再次应用它们,Kubernetes 成功创建了一个新的 EC2 卷并将其附加到实例。

如你所见in my configuration ,我有一个带有“volumeClaimTemplate”(=> PersistentVolumeClaim,PVC)(和一个 matching StorageClass definition )的 StatefulSet,因此 Kubernetes 应该动态提供一个 EC2 Volume,将它附加到一个 worker 并将它作为一个 PersistentVolume 公开。

请参阅 kubectl get pvckubectl get pv 和 AWS 控制台 - EC2 - Volumes。

注意:“绑定(bind)”= PV 为 bound到 PVC。

如果您有 EBS 卷的快照 (5/2018),这里描述了一种在 AWS 上恢复 StatefulSet 的费力方法:https://medium.com/@joatmon08/kubernetes-statefulset-recovery-from-aws-snapshots-8a6159cda6f1

关于kubernetes - 节点在 AWS EKS 中没有可用的卷区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54439356/

相关文章:

kubernetes - EKS 配置的 LoadBalancer 引用集群中的所有节点。如果 pod 驻留在 1 个或 2 个节点上,随着 ELB 流量的增加,效率是否会这么高?

Tensorflow 服务性能与直接推理相比非常慢

amazon-web-services - AWS EKS - 集群没有可用于调度 Pod 的节点

Kubernetes imagePullPolicy :Always is not pulling image automatically

kubernetes - 亚马逊EKS : generate/update kubeconfig via python script

amazon-web-services - AWS CLI : update-kubeconfig not working as expected

amazon-web-services - 按标签 AGE 删除 kubernetes pvc 的自动化脚本

go - 如何通过 client-go 使用复杂的 LabelSelector 列出我的 k8s 作业?

amazon-web-services - EKS Kubernetes 出站流量

amazon-web-services - AWS EKS 没有暴露的端口