使用本地卷配置持久化存储
Alauda Container Platform 可通过本地卷配置持久化存储。本地持久卷允许你通过标准持久卷声明接口访问本地存储设备,例如磁盘或分区。
由于系统能够识别卷的节点约束,因此无需手动将 Pod 调度到节点即可使用本地卷。不过,本地卷仍受底层节点可用性的限制,因此并不适用于所有应用。
从 ACP 4.5 开始,Alauda Build of Local Storage 更名为 Alauda Container Platform Local Disk Provisioner。从 Customer Portal 下载插件时,请搜索 Alauda Container Platform Local Disk Provisioner。更名前发布的插件包上传后,在平台中仍显示为 Alauda Build of Local Storage。
本地卷只能用作静态创建的持久卷。
先决条件
-
下载与平台架构对应的 Alauda Container Platform Local Disk Provisioner(原 Alauda Build of Local Storage)安装包。
-
使用上架软件包机制上传 Alauda Container Platform Local Disk Provisioner(原 Alauda Build of Local Storage)安装包。
-
你有一个满足以下条件的本地磁盘:
- 已连接到某个节点。
- 未挂载。
- 不包含分区。
操作步骤
安装 Local Storage Operator
-
登录并进入 Administrator 页面。
-
点击 Marketplace > OperatorHub,进入 OperatorHub 页面。
-
找到 Alauda Container Platform Local Disk Provisioner(更名前发布的软件包显示为 Alauda Build of Local Storage),点击 Install,然后进入 Install Alauda Container Platform Local Disk Provisioner 页面。
配置参数:
使用 Local Storage Operator 配置本地卷
本地卷无法通过动态配置创建。相反,可以通过 Local Storage Operator 创建持久卷。本地卷配置器会在已定义资源中指定的路径下查找文件系统或块卷设备。
-
创建本地卷资源。此资源必须定义本地卷所在的节点和路径。
NOTE同一设备不要使用不同的存储类名称,否则会创建多个持久卷 (PV)。
在集群的 control node 上执行命令。
- 安装 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 的命名空间,默认为
-
验证持久卷是否已创建:
在集群的 control node 上执行命令。
示例输出:
NOTE编辑 LocalVolume 对象不会更改现有持久卷的 fsType 或 volumeMode,因为这样做可能会导致破坏性操作。
-
创建本地卷持久卷声明
在集群的 control node 上执行命令。
- PVC 的名称。
- PVC 的类型。默认为
Filesystem。 - PVC 可用的存储量。
- 声明所需的存储类名称。
自动发现本地存储设备
Local Storage Operator 会自动执行本地存储发现。
前提条件
- 已安装 Local Storage Operator。
操作步骤
-
创建 LocalVolumeDiscovery 对象
在集群的 control node 上执行命令。
- 可选:必须运行自动检测策略的节点。如果未定义值,Local Storage Operator 将尝试在所有可用节点上执行自动检测。
- 可选:如果指定,tolerations 是传递给 LocalVolumeDiscovery Daemon 的 toleration 列表。
-
验证发现结果
在集群的 control node 上执行命令。
示例输出:
对于 LocalVolumeDiscovery 对象中选定的节点,系统会生成专用的 LocalVolumeDiscoveryResult 对象。您可以通过该对象检查在相应节点上发现的块设备。