首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法附加aws ebs卷,错误“实例未找到”

无法附加aws ebs卷,错误“实例未找到”
EN

Stack Overflow用户
提问于 2020-11-23 09:34:50
回答 1查看 1.6K关注 0票数 1

信息:

  • Kubernetes服务器版本: 1.14
  • AWS云提供商
  • EBS容量,存储库

详细信息:我已经在我们的kubernetes集群中安装了状态集,但是它坚持了"ContainerCreating“状态。在检查日志时,错误是“pvc-xxxxxx卷的AttachVolume.Attach失败:错误查找实例ip-xxxxx:”实例未找到“

它是成功安装在17天前,但重新安装的更新导致吊舱卡在ContainerCreating。

手动将卷附加到实例上是可行的。但是,通过存储类执行此操作不起作用,并且停留在ContainerCreating状态。

储藏室:

代码语言:javascript
复制
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  name: ssd-default
allowVolumeExpansion: true
parameters:
  encrypted: "true"
  type: gp2
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete
volumeBindingMode: Immediate

pvc yaml:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/aws-ebs
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    app.kubernetes.io/instance: thanos-store
    app.kubernetes.io/name: thanos-store
  name: data-thanos-store-0
  namespace: thanos
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
  storageClassName: ssd-default
  volumeMode: Filesystem
  volumeName: pvc-xxxxxx
status:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 3Gi
  phase: Bound

pv yaml:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    kubernetes.io/createdby: aws-ebs-dynamic-provisioner
    pv.kubernetes.io/bound-by-controller: "yes"
    pv.kubernetes.io/provisioned-by: kubernetes.io/aws-ebs
  finalizers:
  - kubernetes.io/pv-protection
  labels:
    failure-domain.beta.kubernetes.io/region: ap-xxx
    failure-domain.beta.kubernetes.io/zone: ap-xxx
  name: pvc-xxxx
spec:
  accessModes:
  - ReadWriteOnce
  awsElasticBlockStore:
    fsType: ext4
    volumeID: aws://xxxxx
  capacity:
    storage: 3Gi
  claimRef:
    apiVersion: v1
    kind: PersistentVolumeClaim
    name: data-athena-thanos-store-0
    namespace: thanos
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: failure-domain.beta.kubernetes.io/region
          operator: In
          values:
          - ap-xxx
        - key: failure-domain.beta.kubernetes.io/zone
          operator: In
          values:
          - ap-xxx
  persistentVolumeReclaimPolicy: Delete
  storageClassName: ssd-default
  volumeMode: Filesystem
status:
  phase: Bound

描述pvc:

代码语言:javascript
复制
Name:          data-athena-thanos-store-0
Namespace:     athena-thanos
StorageClass:  ssd-encrypted
Status:        Bound
Volume:        pvc-xxxx
Labels:        app.kubernetes.io/instance=athena-thanos-store
               app.kubernetes.io/name=athena-thanos-store
Annotations:   pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/aws-ebs
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      3Gi
Access Modes:  RWO
VolumeMode:    Filesystem
Mounted By:    athena-thanos-store-0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-01 09:54:28

当一个EBS卷不能从一个实例中分离,因此不能连接到另一个实例时,就会发生FailedAttachVolume错误。EBS卷必须处于要附加的可用状态。FailedAttachVolume通常是底层无法卸载和分离卷的症状。

注意,在描述PVC时,StorageClass名称是ssd-encrypted,这与您前面显示的kind: StorageClass名称为ssd-default的配置不匹配。这就是为什么您可以手动挂载卷,但不能通过StorageClass挂载。您可以使用适当的数据删除并重新创建StorageClass

另外,我建议您通过这篇文章,使用volumeBindingMode: WaitForFirstConsumer而不是volumeBindingMode: Immediate。此设置指示卷提供程序不要立即创建卷,而是等待使用相关PVC的荚运行整个调度过程。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64965827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档