更新时间:2024-06-17 GMT+08:00

挂载本地存储

本地磁盘应用场景

使用本地磁盘有四种形式:

  • 主机路径(HostPath):将容器所在宿主机的文件目录挂载到容器指定的挂载点中,如容器需要访问宿主机的/etc/hosts,则可以使用HostPath将宿主机的/etc/hosts路径映射至容器路径。
  • 临时路径(EmptyDir):适用于临时存储、灾难恢复、共享运行时数据等场景,工作负载实例的删除或者迁移会导致临时路径被删除。生命周期与容器实例相同。容器实例消亡时,EmptyDir会被删除,数据会永久丢失。
  • 配置项(ConfigMap):将配置项挂载到容器中,然后在容器的挂载路径下就可以读取到配置项的内容。
  • 密钥(Secret):将密钥挂载到容器中,然后在容器的挂载路径下就可以读取到密钥的内容。

主机路径挂载

在容器上挂载宿主机上的文件或目录。通常用于:“容器应用程序生成的日志文件需要永久保存”或者“需要访问宿主机上Docker引擎内部数据结构的容器应用”

  1. 参考创建无状态负载创建有状态负载创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“本地存储”页签下单击添加。

    图1 容器存储设置

  2. 设置添加本地磁盘参数,如表1

    表1 主机路径挂载

    参数

    参数说明

    存储类型

    主机路径(HostPath)。

    主机路径

    输入主机路径,如/etc/hosts。

    挂载路径

    输入数据卷挂载到容器上的路径。

    须知:
    • 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。
    • 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。

    子路径

    使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。

    权限

    • 只读:只能读容器路径中的数据卷。
    • 读写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。

  3. 重复添加可增加多条设置,单击“确认”完成配置。

临时路径挂载

适用于临时存储、灾难恢复、共享运行时数据等场景,工作负载实例的删除或者迁移会导致临时路径被删除。

  1. 参考创建无状态负载创建有状态负载创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“本地存储”页签下单击添加。

    图2 容器存储设置

  2. 设置添加本地磁盘参数,如表2

    表2 临时路径挂载

    参数

    参数说明

    存储类型

    临时路径(EmptyDir)。

    磁盘介质

    • 默认:即存储在硬盘上,适用于数据量大,读写效率要求低的场景。
    • 内存:可以提高运行速度,但存储容量受内存大小限制。适用于数据量少,读写效率要求高的场景。

    挂载路径

    输入数据卷挂载到容器上的路径。

    须知:
    • 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。
    • 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。

    子路径

    使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。

    权限

    • 只读:只能读容器路径中的数据卷。
    • 读写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。

  3. 重复添加可增加多条设置,单击“确认”完成配置。

配置项挂载

“配置项挂载”用于处理工作负载配置参数。用户需要提前创建工作负载配置,操作步骤请参见配置项(ConfigMap)

  1. 参考创建无状态负载创建有状态负载创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“本地存储”页签下单击添加。

    图3 容器存储设置

  2. 设置添加本地磁盘参数,如表3

    表3 配置项挂载

    参数

    参数说明

    存储类型

    配置项(ConfigMap)。

    配置项

    选择对应的配置项名称。
    说明:

    配置项需要提前创建,详情请参见配置项(ConfigMap)

    挂载路径

    输入数据卷挂载到容器上的路径。

    须知:
    • 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。
    • 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。

    子路径

    使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。

    权限

    仅支持“只读”,只能读容器路径中的数据卷。

  3. 重复添加可增加多条设置,单击“确认”完成配置。

密钥挂载

将密钥中的数据挂载到指定的容器中,密钥内容由用户决定。用户需要提前创建密钥,操作步骤请参见密钥(Secret)

  1. 参考创建无状态负载创建有状态负载创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“本地存储”页签下单击添加。

    图4 容器存储设置

  2. 设置添加本地磁盘参数,如表4

    表4 密钥挂载

    参数

    参数说明

    存储类型

    密钥(Secret)。

    密钥

    选择对应的密钥名称。
    说明:

    密钥需要提前创建,详情请参见密钥(Secret)

    挂载路径

    输入数据卷挂载到容器上的路径。

    须知:
    • 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。
    • 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。

    子路径

    使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。

    权限

    仅支持“只读”,只能读容器路径中的数据卷。

  3. 重复添加可增加多条设置,单击“确认”完成配置。