You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pod跨可用区迁移时Persistent Volume Claim绑定错误卷求助

EKS中Deployment绑定PVC跨可用区迁移Pod失败问题

问题描述

在EKS集群的可用区us-west-2a中部署了带有PVC的Deployment,PV创建正常,Pod运行无异常。但当Pod因节点故障或调度策略迁移至可用区us-west-2b时,Pod卡在Pending状态,报错信息如下:

pod didn't trigger scale-up: 5 node(s) didn't match Pod's node affinity/selector, 1 node(s) had volume node affinity conflict, 1 node(s) had no available volume zone

此时PVC仍绑定在可用区us-west-2a的PV上。

相关配置

PVC配置

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: appName-pvc-ebs
  namespace: appName-namespace
  labels:
    app: appName
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: appName-sc-ebs
  resources:
    requests:
      storage: 1Gi

存储类(StorageClass)配置

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: appName-sc-ebs
  namespace: appName-namespace
provisioner: kubernetes.io/aws-ebs
volumeBindingMode: WaitForFirstConsumer
parameters:
  type: gp3
  zone: us-west-2a,us-west-2b
allowVolumeExpansion: true
reclaimPolicy: Retain
allowedTopologies:
- matchLabelExpressions:
  - key: topology.kubernetes.io/zone
    values:
    - us-west-2a    
    - us-west-2b

已尝试的方案及结果

根据官方文档及资料,配置volumeBindingMode: WaitForFirstConsumer结合allowedTopologies应该能解决跨可用区调度问题,但并未生效。

后续将存储类的provisioner从kubernetes.io/aws-ebs改为ebs.csi.aws.com后问题有所缓解,但未达预期:当Pod尝试迁移至其他可用区时,由于PVC绑定了原可用区的EBS卷,Pod最终会被调度回原可用区,当前表现类似StatefulSet的固定节点调度特性,不符合Deployment的调度预期。

因成本限制无法使用EFS,寻求有类似经验的解决方案。


内容的提问来源于stack exchange,提问作者Anton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 19:44:53