【问题标题】:What node field means in k8s volume.attachments?k8s volume.attachments中的节点字段是什么意思?
【发布时间】:2020-08-12 22:43:31
【问题描述】:

我有以下Volume

Name:         pvc-c8a0c1ee-b9e6-11e9-9ffa-0cc47ab04738
Namespace:    rook-ceph-system
Labels:       <none>
Annotations:  <none>
API Version:  rook.io/v1alpha2
Attachments:
  Cluster Name:   rook-ceph
  Mount Dir:      /var/lib/kubelet/pods/72fd4f89-5110-49b7-8d88-87488b58695c/volumes/ceph.rook.io~rook-ceph-system/pvc-c8a0c1ee-b9e6-11e9-9ffa-0cc47ab04738
  Node:           node-6.xyz.com
  Pod Name:       dev-cockroachdb-0
  Pod Namespace:  x-namespace
  Read Only:      false
Kind:             Volume
Metadata:
  Creation Timestamp:  2020-08-12T17:13:51Z
  Generation:          6
  Resource Version:    638003207
  Self Link:           /apis/rook.io/v1alpha2/namespaces/rook-ceph-system/volumes/pvc-c8a0c1ee-b9e6-11e9-9ffa-0cc47ab04738
  UID:                 db0a9491-95fe-49cd-8160-89031847d636
Events:                <none>

对于 pod dev-cockroachdb-0,我收到以下错误:

MountVolume.SetUp failed for volume "pvc-c8a0c1ee-b9e6-11e9-9ffa-0cc47ab04738" : mount command failed, status: Failure, reason: Rook: Mount volume failed: failed to attach volume pvc-c8a0c1ee-b9e6-11e9-9ffa-0cc47ab04738 for pod x-namespace/dev-cockroachdb-0. Volume is already attached by pod x-namespace/dev-cockroachdb-0. Status Pending

而 pod x-namespace/dev-cockroachdb-0 目前被安排到node-5.xyz.com

因此,您可以看到 pod 本身位于与 VolumeAttachment 不同的节点中。 node-6.xyz.comnode-5.xyz.com.

问题:

  • Volume.Attachments 中的Node 是否指向 pod(卷所附加的)所在的节点? (因此,如果卷附加到节点 NodeA 上的 pod,那么卷附加的节点字段的值将是 NodeA
  • 这个错误可能是因为未能正确分离某个节点上的卷吗?

【问题讨论】:

标签: kubernetes persistent-volumes rook-storage kubernetes-rook


【解决方案1】:

你没有提到它,但看起来你有一个 Rook 卷。也许是 pvc-clone,像这样:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rbd-pvc-clone
spec:
  storageClassName: rook-ceph-block
  dataSource:
    name: rbd-pvc
    kind: PersistentVolumeClaim
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

Volume.Attachments 中的 Node 是否指向 Pod(卷所附加的)所在的节点? (因此,如果卷附加到节点 NodeA 上的 pod,那么卷附加的节点字段的值将是 NodeA)

并非如此,您的 Pod 可能正在尝试在 node-5.xyz.com 上启动,但在您的情况下,卷可能会附加到另一个节点,它是 node-6.xyz.com

这个错误可能是因为未能正确分离某个节点上的卷吗?

是的,如果您在 node-6.xyz.com 中运行的另一个 pod 终止且无法分离,则可能会发生此错误。

请记住,以上所有内容都考虑到您的卷具有accessModes: ReadWriteOnce。看起来您正在将 Ceph 与 Rook 一起使用,在这种情况下,您还可以使用 accessModes: ReadWriteMany,这实际上允许您将卷附加到 Kubernetes 节点。

✌️

【讨论】:

    猜你喜欢
    • 2015-04-11
    • 1970-01-01
    • 2022-11-24
    • 2016-08-08
    • 2016-08-17
    • 2017-12-09
    • 2018-04-11
    • 2023-03-06
    • 2021-12-15
    相关资源
    最近更新 更多