本页面介绍了如何为 GKE on Bare Metal 集群配置本地卷。
GKE on Bare Metal 集群提供了两种在集群中配置本地 PV 的选项:LVP 共享和 LVP 节点装载。LVP 共享使用共享文件系统中的目录,而 LVP 节点装载使用专用磁盘。
LVP 共享
此存储类别会在集群中的每个节点上创建一个由本地共享文件系统中的子目录支持的本地 PV。创建集群时,系统会自动创建这些子目录。使用这种存储类别的工作负载会共享容量和 IOPS,因为 PV 由同一共享文件系统支持。为了获得更好的隔离性,我们建议改为通过 LVP 节点装载配置磁盘。
配置 LVP 共享
可选:在创建集群之前,使用已配置的路径作为装载点装载磁盘,以便创建的 PV 共享新的磁盘容量并与启动磁盘隔离。
在集群 CR 的
lvpShare
下指定以下内容:path
:在其中创建子目录的各个主机上的主机路径。将为每个子目录创建一个本地 PV。默认路径为/mnt/localpv-share
。storageClassName
:在创建集群的过程中创建 PV 的存储类别。默认值为local-shared
。numPVUnderSharedPath
:要在path
下创建的子目录数。默认值为5
。
配置类似于以下内容:
apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: cluster1 namespace: cluster-cluster1 spec: storage: lvpShare: path: /mnt/localpv-share storageClassName: local-shared numPVUnderSharedPath: 5
使用 storageClassName
中指定的存储类别创建 PV。在集群中创建的本地 PV 总数为 numPVUnderSharedPath
乘以节点数。
LVP 节点装载
此存储类别会为已配置目录中的每个已装载磁盘创建一个本地 PV。每个 PV 都映射到容量等于指定磁盘容量的磁盘。在集群中创建的本地 PV 总数为所有节点路径下装载的磁盘数。您可以在创建集群后添加更多装载。
配置 LVP 节点装载
在具有额外 PV 磁盘的节点上,格式化每个磁盘并装载到路径下。此操作也可以在创建集群之前或之后完成。请参阅最佳做法。
列出磁盘并找到要装载的磁盘:
sudo lsblk
格式化磁盘,例如使用单个 ext4 文件系统:
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_ID
在已配置路径下,创建一个目录作为新磁盘的装载点:
sudo mkdir -p /mnt/localpv-disk/MNT_DIR
装载磁盘:
sudo mount -o discard,defaults /dev/DEVICE_ID /mnt/localpv-disk/MNT_DIR && sudo chmod a+w /mnt/localpv-disk/MNT_DIR
将磁盘添加到
/etc/fstab
文件中,以便在实例重启时设备会自动重新装载:# Backup of your current /etc/fstab file sudo cp /etc/fstab /etc/fstab.backup # Use the blkid command to find the UUID for the zonal persistent disk sudo blkid /dev/DEVICE_ID # Edit /etc/fstab file: create an entry that includes the UUID UUID=UUID_VALUE /mnt/disks/MNT_DIR ext4 discard,defaults,NOFAIL_OPTION 0 2
在集群 CR 的
lvpNodeMounts
下指定以下内容:path
:每个装载的主机路径,在其中发现已装载磁盘并创建一个本地 PV。默认路径为/mnt/localpv-disk
。storageClassName
:在创建集群的过程中创建 PV 的存储类别。默认值为local-disks
。
配置类似于以下内容:
apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: cluster1 namespace: cluster-cluster1 spec: storage: lvpNodeMounts: path: /mnt/localpv-disk storageClassName: local-disks
使用
storageClassName
中指定的存储类别创建 PV。创建的 PV 总数为所有节点path
下装载的磁盘数。
后续步骤
- 了解如何配置默认存储类别。