kubernetes - k8s volume.attachments中的节点字段是什么意思?
问题描述
我有以下内容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
并且该吊舱x-namespace/dev-cockroachdb-0
当前计划为node-5.xyz.com
.
因此,如您所见,pod 本身与VolumeAttachment
. node-6.xyz.com
与node-5.xyz.com
。
问题:
Node
in是否Volume.Attachments
指向 pod(卷所附加的)所在的节点?(因此,如果卷附加到 node 上的 podNodeA
,那么卷附加的 node 字段的值将是NodeA
)- 由于未能正确分离某个节点上的卷,是否可能会发生此错误?
解决方案
你没有提到它,但看起来你有一个 Rook 卷。也许是一个 pvc 克隆,像这样:
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 节点。
✌️
推荐阅读
- python - 当第一个逗号出现时,超过 25 个单词的行被拆分
- python - ModuleNotFoundError:导入 win32com 时 IDLE 中没有名为“win32api”的模块
- python - 如何通过 python 在我的笔记本电脑上打开 .ebc (ebcdic) 文件?
- android - 从主模块启动库模块中的活动
- php - 找不到类“App\Http\Controllers\App\Model”
- c++ - Fortran 库中的 C++ 可执行链接和 C++ 库中的主链接时出现链接器错误
- vb.net - 是否可以使用 System.Configuration 写入网络位置
- android - 在颤振摩尔数据库中保存双倍
- python - 使用相对导入语法导入错误
- docker - 授予仅在特定文件夹中安装 docker 卷的权限