使用本地卷配置持久存储
Alauda Container Platform 可以通过使用本地卷来配置持久存储。本地持久卷允许您通过标准的持久卷声明接口访问本地存储设备,例如磁盘或分区。
本地卷可以在无需手动调度 Pod 到节点的情况下使用,因为系统会识别卷的节点约束条件。然而,本地卷仍然受限于底层节点的可用性,并不适用于所有应用场景。
本地卷只能作为静态创建的持久卷使用。
前提条件
-
下载与您的平台架构对应的Alauda Build of LocalStorage安装包。
-
使用上传软件包机制上传该Alauda Build of LocalStorage安装包。
-
您拥有符合以下条件的本地磁盘:
- 已挂载到某个节点。
- 未被挂载使用。
- 不包含分区。
操作步骤
安装 Local Storage Operator
-
登录,进入管理员页面。
-
点击 Marketplace > OperatorHub,进入 OperatorHub 页面。
-
找到 Alauda Build of LocalStorage,点击 Install,进入 Install Alauda Build of LocalStorage 页面。
配置参数:
使用 Local Storage Operator 预配本地卷
本地卷不能通过动态预配创建,而是由 Local Storage Operator 创建持久卷。Local Volume Provisioner 会在定义的资源中指定的路径查找任何文件系统或块卷设备。
-
创建本地卷资源。该资源必须定义节点和本地卷的路径。
NOTE不要对同一设备使用不同的存储类名称,否则会创建多个持久卷(PV)。
在集群的控制节点上执行命令。
- Local Storage Operator 安装的命名空间,默认是
acp-storage。 - 可选:包含本地存储卷所在节点列表的节点选择器。本示例使用节点主机名,可通过
kubectl get node获取。如果未定义该值,Local Storage Operator 会尝试在所有可用节点上查找匹配磁盘。 - 创建持久卷对象时使用的存储类名称。如果该存储类不存在,Local Storage Operator 会自动创建。请确保使用唯一标识这组本地卷的存储类名称。
- 控制 Operator 是否在使用前擦除列出的设备。默认值为“false”。警告:设置
forceWipeDevicesAndDestroyAllData: true会破坏性地擦除设备上的现有分区表/文件系统签名和数据。仅在确定设备可以安全擦除时使用。 - 卷模式,取值为
Filesystem或Block,定义本地卷的类型。 - 可选:首次挂载本地卷时创建的文件系统类型。仅当
volumeMode设置为Filesystem时配置此参数。 - 包含本地存储设备路径列表的路径。
- 将此值替换为实际本地磁盘的文件路径,如
LocalVolume资源中的by-id路径,例如/dev/disk/by-id/wwn。当预配器成功部署时,会为这些本地磁盘创建 PV。
- Local Storage Operator 安装的命名空间,默认是
-
验证持久卷是否创建成功:
在集群的控制节点上执行命令。
示例输出:
NOTE编辑 LocalVolume 对象不会更改已有持久卷的 fsType 或 volumeMode,因为这样可能导致破坏性操作。
-
创建本地卷持久卷声明
在集群的控制节点上执行命令。
- PVC 的名称。
- PVC 的类型,默认为
Filesystem。 - PVC 可用的存储容量。
- PVC 所需的存储类名称。
自动发现本地存储设备
Local Storage Operator 支持自动发现本地存储设备。
前提条件
- 已安装 Local Storage Operator。
操作步骤
-
创建 LocalVolumeDiscovery 对象
在集群的控制节点上执行命令。
- 可选:指定自动检测策略运行的节点。如果未定义该值,Local Storage Operator 会尝试在所有可用节点上自动检测。
- 可选:指定传递给 LocalVolumeDiscovery Daemon 的容忍度列表。
-
验证发现结果
在集群的控制节点上执行命令。
示例输出:
LocalVolumeDiscovery 对象中选定节点会生成专用的 LocalVolumeDiscoveryResult 对象,您可以从中查看该节点上发现的块设备信息。