通过本地磁盘存储将容器所在宿主机的文件目录挂载到容器的指定路径中(对应Kubernetes的HostPath),也可以不填写源路径(对应Kubernetes的EmptyDir),不填写时将分配主机的临时目录挂载到容器的挂载点,指定源路径的本地硬盘数据卷适用于将数据持久化存储到容器所在宿主机,EmptyDir(不填写源路径)适用于容器的临时存储。
本地磁盘使用场景
您可以通过如下四种形式使用本地磁盘存储:
主机路径挂载:将容器所在宿主机的文件目录挂载到容器指定的挂载点中,如容器需要访问/etc/hosts则可以使用HostPath映射/etc/hosts等场景。
临时路径挂载:用于临时存储,生命周期与容器实例相同。容器实例消亡时,EmptyDir会被删除,数据会永久丢失。
配置项挂载:将ConfigMap配置项中的key映射到容器中,可以用于挂载配置文件到指定容器目录。配置项(ConfigMap)是一种用于存储工作负载所需配置信息的资源类型,内容由用户决定。ConfigMap的创建请参见创建配置项,具体使用请参见使用配置项。
密钥挂载 : 将密钥中的数据挂载到容器的某一路径中。密钥是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。Secret的创建请参见创建密钥,具体使用请参见使用密钥。
下面分别介绍如何通过这四种形式进行挂载。
主机路径(HostPath)挂载
主机路径(HostPath)挂载表示将主机上的路径挂载到指定的容器路径。通常用于:“容器工作负载程序生成的日志文件需要永久保存”或者“需要访问宿主机上Docker引擎内部数据结构的容器工作负载”。
步骤 1 登录CCE控制台。
步骤 2 在创建工作负载时,在“容器配置”中找到“数据存储”,选择“本地存储”,单击。
步骤 3 设置添加本地磁盘参数。
表 卷类型选择主机路径挂载
参数 参数说明 存储类型 主机路径(HostPath)。 主机路径 输入主机路径,如/etc/hosts。 说明请注意“主机路径”不能设置为根目录“/”,否则将导致挂载失败。挂载路径一般设置为:
/opt/xxxx(但不能为/opt/cloud)
/mnt/xxxx(但不能为/mnt/paas)
/tmp/xxx
/var/xxx (但不能为/var/lib、/var/script、/var/paas等关键目录)
/xxxx(但不能和系统目录冲突,例如bin、lib、home、root、boot、dev、etc、lost+found、mnt、proc、sbin、srv、tmp、var、media、opt、selinux、sys、usr等)
注意不能设置为/home/paas、/var/paas、/var/lib、/var/script、/mnt/paas、/opt/cloud,否则会导致系统或节点安装失败。添加容器挂载 配置如下参数:
子路径:请输入子路径,如:tmp。
使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。
挂载路径:请输入挂载路径,如:/tmp。
数据存储挂载到容器上的路径。请不要挂载在系统目录下,如“/”、“**/var/run”**等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。注意挂载高危目录的情况下 ,建议使用低权限帐号启动,否则可能会造成宿主机高危文件被破坏。
权限:
只读:只能读容器路径中的数据卷。
读写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。
单击“添加容器挂载”可增加多条设置,单击“确定”完成配置。
临时路径(EmptyDir)挂载
临时路径(EmptyDir)挂载适用于临时存储、灾难恢复、共享运行时数据等场景,工作负载实例的删除或者迁移会导致临时路径被删除。
步骤 1 登录CCE控制台。
步骤 2 在创建工作负载时,在“容器配置”中找到“数据存储”,选择“本地存储”,单击。
步骤 3 选择本地磁盘类型为“临时路径挂载”,设置添加本地磁盘参数。
表 卷类型选择临时路径挂载
参数 参数说明 存储类型 主机路径(HostPath)。 主机路径 输入主机路径,如/etc/hosts。
说明请注意“主机路径”不能设置为根目录“/”,否则将导致挂载失败。挂载路径一般设置为:
/opt/xxxx(但不能为/opt/cloud)
/mnt/xxxx(但不能为/mnt/paas)
/tmp/xxx
/var/xxx (但不能为/var/lib、/var/script、/var/paas等关键目录)
/xxxx(但不能和系统目录冲突,例如bin、lib、home、root、boot、dev、etc、lost+found、mnt、proc、sbin、srv、tmp、var、media、opt、selinux、sys、usr等)
注意不能设置为/home/paas、/var/paas、/var/lib、/var/script、/mnt/paas、/opt/cloud,否则会导致系统或节点安装失败。添加容器挂载 配置如下参数:
子路径:请输入子路径,如:tmp。
使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。
挂载路径:请输入挂载路径,如:/tmp。
数据存储挂载到容器上的路径。请不要挂载在系统目录下,如“/”、“**/var/run”**等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。
须知
挂载高危目录的情况下 ,建议使用低权限帐号启动,否则可能会造成宿主机高危文件被破坏。权限:
只读:只能读容器路径中的数据卷。
读写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。
单击“添加容器挂载”可增加多条设置,单击“确定”完成配置。
配置项(ConfigMap)挂载
配置项(ConfigMap)挂载是将配置项中的数据挂载到指定的容器路径。平台提供工作负载代码和配置文件的分离,“配置项挂载”用于处理工作负载配置参数。用户需要提前创建工作负载配置,操作步骤请参见创建配置项。
步骤 1 登录CCE控制台。
步骤 2 在创建工作负载时,在“容器配置”中找到“数据存储”,选择“本地存储”,单击。
步骤 3 选择本地磁盘类型为“配置项挂载”,设置添加本地磁盘参数。
表 卷类型选择配置项挂载
参数 | 参数说明 |
---|---|
存储类型 | 配置项(ConfigMap)。 |
配置项 | 选择对应的配置项名称。配置项需要提前创建,具体请参见创建配置项。 |
添加容器挂载 | 配置如下参数: 子路径:请输入子路径,如:tmp。 使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume,不填写时默认为根。 子路径可以填写ConfigMap/Secret的键值,子路径若填写为不存在的键值则数据导入不会生效。 通过子路径导入的数据不会随ConfigMap/Secret的更新而动态更新。 挂载路径:请输入挂载路径,如:/tmp。数据存储挂载到容器上的路径。请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。 建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。 须知 挂载高危目录的情况下,建议使用低权限帐号启动,否则可能会造成宿主机高危文件被破坏。 设置权限:只读。 只能读容器路径中的数据卷。单击“添加容器挂载”可增加多条设置,单击“确定”完成配置。 |
密钥(Secret)挂载
密钥(Secret)挂载将密钥中的数据挂载到指定的容器路径,密钥内容由用户决定。用户需要提前创建密钥,操作步骤请参见创建密钥。
步骤 1 登录CCE控制台。
步骤 2 在创建工作负载时,在“容器配置”中找到“数据存储”,选择“本地存储”,单击。
步骤 3 选择本地磁盘类型为“密钥挂载”,设置添加本地磁盘参数。
表 卷类型选择密钥挂载
参数 | 参数说明 |
---|---|
存储类型 | 密钥(Secret)。 |
密钥 | 选择对应的密钥名称。密钥需要提前创建,具体请参见创建密钥。 |
添加容器挂载 | 配置如下参数: 子路径:请输入子路径,如:tmp。 使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume,不填写时默认为根。 子路径可以填写ConfigMap/Secret的键值,子路径若填写为不存在的键值则数据导入不会生效。通过子路径导入的数据不会随ConfigMap/Secret的更新而动态更新。挂载路径:请输入挂载路径,如:/tmp。 数据存储挂载到容器上的路径。 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下 , 若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常, 工作负载创建失败。须知挂载高危目录的情况下,建议使用低权限帐号启动,否则可能会造成宿主机高危文件被破坏。 设置权限: 只读。只能读容器路径中的数据卷。 单击“添加容器挂载”可增加多条设置,单击“确定”完成配置。 |