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