在EKS中附加一个持久卷,且不需要知道文件类型和分区号(partition number)

0

【以下的问题经过翻译处理】 我有一个 EBS 卷和 EKS 集群。我想通过编程方式将卷附加到集群的节点,但我没有磁盘的 fsType 和分区号的信息。是否有任何方法可以获取信息或任何插件可以使用,可以挂载卷中的所有分区。

这是使用 aws csi 驱动程序的存储类和持久卷。我必须知道 fsType 和分区号以正确挂载。 ‘’‘ kind: PersistentVolume metadata: name: name-pv spec: storageClassName: "gp2" accessModes:

  • ReadWriteOnce capacity: storage: "100Gi" volumeMode: Filesystem csi: driver: ebs.csi.aws.com fsType: <NotKnown> volumeHandle: "vol-XXXX" volumeAttributes: partition: "<NotKnown>"

apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: annotations: name: gp2 parameters: fsType: <NotKnown> type: gp2 provisioner: kubernetes.io/aws-ebs reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer ’‘’

profile picture
专家
已提问 1 年前56 查看次数
1 回答
0

【以下的回答经过翻译处理】 您可以使用AWS EBS CSI驱动程序的blockVolume功能,以附加卷而无需知道文件系统类型和分区号。该功能允许将EBS卷作为块设备附加到节点,而无需格式化或挂载。然后,您可以使用诸如lsblk或blkid之类的工具来检查设备并确定文件系统类型和分区号。

以下是使用blockVolume功能创建PersistentVolume并附加EBS卷的示例: ‘’‘ apiVersion: v1 kind: PersistentVolume metadata: name: my-pv spec: capacity: storage: 10Gi volumeMode: Block accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain csi: driver: ebs.csi.aws.com volumeHandle: vol-xxxxxx volumeAttributes: blockVolume: "true" ’‘’

一旦卷附加到节点,您可以使用以下命令检查设备并确定文件系统类型和分区号: ‘’‘

List all available block devices

lsblk

Determine the file system type

file -s /dev/xvdf

Determine the partition table

fdisk -l /dev/xvdf ‘’‘ 请注意,设备名称可能因您的设置而异,因此请相应地调整命令。确定文件系统类型和分区号后,您可以更新PersistentVolume定义以包括fsType和分区的正确值。

以下是提供有关AWS EBS CSI驱动程序和在Kubernetes中附加EBS卷的更多信息的有用链接:

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则