设置数据存储
容器中的文件在磁盘上是临时存放的,这给容器中运行的组件实例带来如下两个问题:
- 容器重建时,容器中的文件将会丢失,不满足持久化数据存储的需求。
- 在一个Pod中同时运行多个容器时,容器间需要共享文件,存在在多个容器实例之间保持数据一致性的挑战。
通过为容器部署方式部署的组件设置数据存储,可以提供持久化存储选项,确保数据在容器重启、迁移或扩展时的一致性。
使用场景
项目 |
场景 |
---|---|
EVS目前支持普通I/O、高I/O、超高I/O三种规格。
|
|
文件存储适用于媒体处理、内容管理、大数据和分析工作负载程序等场景。 |
|
极速文件存储具有按需申请,快速供给,弹性扩展,方便灵活等特点,适用于DevOps、容器微服务、企业办公等应用场景。 |
|
将应用组件所在宿主机的文件目录挂载到应用指定的挂载点中,如应用组件需要访问/etc/hosts则可以使用HostPath映射/etc/hosts等场景。
须知:
请不要挂载在系统目录下,如“/”、“/var/run”等,会导致应用组件实例异常。建议挂载在空目录下。若目录不为空,请确保目录下无影响应用组件实例启动的文件。否则文件会被替换,导致应用组件实例启动异常。 |
|
用于临时存储,生命周期与应用组件实例相同。应用实例消亡时,EmptyDir会被删除,数据会永久丢失。 |
|
将配置项中的key映射到应用中,可以用于挂载配置文件到指定应用组件目录。 |
|
将应用认证信息、应用密钥等敏感信息存储在密钥中,并将密钥挂载到应用组件的指定路径中。 |
云硬盘存储
云硬盘不支持跨可用区挂载,且暂时不支持被多个工作负载、同一工作负载的多个实例或多个任务使用。
- 选择“容器配置”。
- 选择“数据存储 > 云存储 > 添加云存储”,参考表2设置参数。
表2 云硬盘存储 参数
说明
云存储类型
选择“云硬盘”。
云硬盘的使用方式与传统服务器硬盘完全一致。同时,云硬盘具有更高的数据可靠性,更高的I/O吞吐能力和更加简单易用等特点。适用于文件系统、数据库或者其他需要块存储设备的系统软件或工作负载。
分配方式
- 使用已有存储
您需要提前静态创建云硬盘存储卷声明和存储卷,请参考通过静态存储卷使用已有云硬盘。
云硬盘存储卷声明所在命名空间需和组件实例所在容器命名空间保持一致。
- 自动分配存储
添加容器挂载
- 设置“子路径”、“挂载路径”:输入数据存储挂载到应用上的路径。
- 设置“权限”。
- 只读:只能读应用路径中的数据存储。
- 读写:可修改应用路径中的数据存储,应用迁移时新写入的数据不会随之迁移,会造成数据丢失。
- 使用已有存储
- 单击“确定”。
文件存储
- 选择“容器配置”。
- 选择“数据存储 > 云存储 > 添加云存储”,参考表3设置参数。
表3 文件存储 参数
说明
云存储类型
选择“文件存储”。
文件存储适用于媒体处理、内容管理、大数据和分析应用程序等场景。
分配方式
- 使用已有存储
您需要提前静态创建文件存储卷声明和存储卷,请参考通过静态存储卷使用已有文件存储。
文件存储卷声明所在命名空间需和组件实例所在容器命名空间保持一致。
- 自动分配存储
添加容器挂载
- 设置“子路径”、“挂载路径”:输入数据存储挂载到应用上的路径。
- 设置“权限”。
- 只读:只能读应用路径中的数据存储。
- 读写:可修改应用路径中的数据存储,应用迁移时新写入的数据不会随之迁移,会造成数据丢失。
- 使用已有存储
- 单击“确定”。
对象存储
- 选择“容器配置”。
- 选择“数据存储 > 云存储 > 添加云存储”,参考表4设置参数。
表4 对象存储 参数
说明
云存储类型
选择“对象存储”。
对象存储有标准存储和低频访问存储两个存储类型,主要适用于大数据分析、原生云应用程序数据、静态网站托管、备份/活跃归档等场景。
分配方式
- 使用已有存储
您需要提前静态创建对象存储卷声明和存储卷,请参考通过静态存储卷使用已有对象存储。
对象存储卷所在命名空间需和组件实例所在容器命名空间保持一致。
- 自动分配存储
- 设置“密钥”。其中:
“命名空间”为组件实例所在容器命名空间,不可修改。
单击“使用已有密钥”,可选择组件实例所在容器命名空间下的密钥名称。
也可以创建新密钥:输入新密钥名称后,单击“添加密钥文件”,上传已获取到本地的密钥文件,密钥文件获取请参考访问密钥。
- 选择存储“子类型”。对象存储子类型为标准存储、低频访问存储。
- 设置“密钥”。其中:
添加容器挂载
- 设置“子路径”、“挂载路径”:输入数据存储挂载到应用上的路径。
- 设置“权限”。
- 只读:只能读应用路径中的数据存储。
- 读写:可修改应用路径中的数据存储,应用迁移时新写入的数据不会随之迁移,会造成数据丢失。
- 使用已有存储
- 单击“确定”。
极速文件存储
- 选择“容器配置”。
- 选择“数据存储 > 云存储 > 添加云存储”,参考表5设置参数。
表5 极速文件存储 参数
说明
云存储类型
选择“极速文件存储”。
对象存储有标准存储和低频访问存储两个存储类型,主要适用于大数据分析、原生云应用程序数据、静态网站托管、备份/活跃归档等场景。
分配方式
- 使用已有存储
您需要提前静态创建极速文件存储卷声明和存储卷,请参考通过静态存储卷使用已有极速文件存储。
极速文件存储卷所在命名空间需和组件实例所在容器命名空间保持一致。
- 自动分配存储
您需要提前创建文件系统,请参考创建SFS Turbo文件系统。
添加容器挂载
- 设置“子路径”、“挂载路径”:输入数据存储挂载到应用上的路径。
- 设置“权限”。
- 只读:只能读应用路径中的数据存储。
- 读写:可修改应用路径中的数据存储,应用迁移时新写入的数据不会随之迁移,会造成数据丢失。
- 使用已有存储
- 单击“确定”。
主机路径挂载
表示在组件上挂载宿主机上的文件或目录。
- 选择“容器配置”。
- 选择“数据存储 > 本地磁盘 > 挂载本地磁盘”,参考表6设置参数。
- 单击“确定”。
临时路径挂载
适用于临时存储、灾难恢复、共享运行时数据等场景,应用组件实例的删除或者迁移会导致临时路径被删除。
- 选择“容器配置”。
- 选择“数据存储 > 本地磁盘 > 挂载本地磁盘”,参考表7设置参数。
- 单击“确定”。
配置项挂载
平台提供应用代码和配置文件的分离,“配置项挂载”用于处理应用组件配置参数。
- 选择“容器配置”。
- 选择“数据存储 > 本地磁盘 > 挂载本地磁盘”,参考表8设置参数。
表8 配置项挂载 参数
说明
本地存储类型
选择“配置项挂载”。
配置项
选择对应的配置项名称。
创建配置项,请参考创建配置项。配置项所在命名空间需和组件实例所在容器命名空间保持一致。
容器挂载
设置“子路径”、“挂载路径”:输入数据存储挂载到应用上的路径。
例如,“挂载路径”设置为/tmp,“子路径”设置为app,则数据存储挂载到应用上的路径为/tmp/app。
“配置项挂载”仅支持“只读”权限,只能读应用路径中的数据存储。须知:- 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致应用异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响应用启动的文件,否则文件会被替换,导致应用启动异常,应用创建失败。
- 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。
- 单击“确定”。
密钥挂载
将密钥中的数据挂载到指定的应用组件中,密钥内容由用户决定。
- 选择“容器配置”。
- 选择“数据存储 > 本地磁盘 > 挂载本地磁盘”,参考表9设置参数。
表9 密钥挂载 参数
说明
本地存储类型
选择“密钥挂载”。
密钥
选择对应的密钥名称。
创建密钥,请参考创建密钥。密钥所在命名空间需和组件实例所在容器命名空间保持一致。
容器挂载
设置“子路径”、“挂载路径”:输入数据存储挂载到应用上的路径。
例如,“挂载路径”设置为/tmp,“子路径”设置为app,则数据存储挂载到应用上的路径为/tmp/app。
“密钥挂载”仅支持“只读”权限,只能读应用路径中的数据存储。须知:- 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致应用异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响应用启动的文件,否则文件会被替换,导致应用启动异常,应用创建失败。
- 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。
- 单击“确定”。