我想使用一个谷歌计算引擎 磁盘并将其安装到多个位置 Kubernetes Google容器引擎< /强>
我想知道使用persistentVolumeClaim
是否可行,但我所期望的是能够安装同一磁盘的两个分区:
...
volumes:
- name: database
gcePersistentDisk:
pdName: dist-1
fsType: ext4
partition: 1
readOnly: true
- name: media
gcePersistentDisk:
pdName: disk-1
fsType: ext4
partition: 2
readOnly: true
单独安装它们中的任何一个都有效,但尝试同时安装它们会产生错误:
FailedMount Unable to mount volumes for pod "frontend-ni7uf_foo": Could not attach GCE PD "disk-1". Timeout waiting for mount paths to be created.
从技术上讲,我可以在一个实例上手动安装两个分区。
我想知道它是否是一个错误,是否有另一个解决方案(除了拥有多个磁盘)?
答案 0 :(得分:5)
看起来Google容器引擎在两者上都需要readOnly
:
containers:
- volumeMounts:
- readOnly: true
volumes:
- gcePersistentDisk:
readOnly: true
答案 1 :(得分:3)
感谢Wernight的问题。
为了将相同音量的(不同分区)安装在多个位置,它必须是只读的。
我打开https://github.com/kubernetes/kubernetes/issues/20835来跟踪这是否是我们想要前进的行为。
答案 2 :(得分:2)
我正在以不同于其他答案的方式解释问题。为什么不能在单个pod中安装单个PD的不同分区,所有读写都是如此。 PD仍然连接到一个节点并由一个pod使用。
唯一的答案是我们没有将其视为用例。根据我们的经验,大多数人不会以这种方式对块设备进行子分区,除非在引导操作系统时。
如果这是一个重要的用例,我建议您在其上提交github问题。我不会立即知道如何进化以解决它,但我认为这不是一个错误的请求。