配置本地存储

您可以通过配置本地存储将宿主机的文件系统上的文件或目录挂载到您的Pod中。

背景信息

在EDAS的容器服务K8s集群中配置本地存储主要通过hostPath卷来实现,hostPath卷使得容器可以使用宿主机的高速文件系统来存储文件。

在创建应用时配置本地存储

  1. 登录EDAS控制台,在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择所属微服务空间,然后在应用列表页面左上角,单击创建应用

  2. 应用基本信息页签,选择集群类型和应用运行环境,然后在页面最下方单击下一步

    配置项

    描述

    集群类型

    选择Kubernetes集群

    应用运行环境

    根据选择的托管应用类型选择应用运行环境。

    • Java:

      • Java:支持通用的JAR包部署,适用于Dubbo和Spring Boot应用。在选择后可更改Java环境。

      • Tomcat:支持通用的WAR包部署,适用于Dubbo和Spring应用。在选择后可更改Java环境和容器版本。

      • EDAS-Container(HSF):适用于使用WAR或者FatJar部署HSF应用。在选择后可更改Java环境、Pandora版本和Ali-Tomcat版本。

      • 自定义:适用于在K8s集群中使用自定义的镜像部署应用。

    • PHP:适用于运行在Apache HTTP Server中的PHP应用程序。

    • 多语言Node.js、C++、Go...:适用于在K8s集群中使用自定义的镜像部署应用。

  3. 应用配置页签,设置应用的环境信息、基本信息、部署方式和资源参数,设置完成后单击下一步

  4. 应用高级设置页签展开本地存储,并根据您的业务需求配置本地存储。

    本地存储目前支持宿主机本地文件emptyDir两种类型。

    • 宿主机本地文件
      文件类型Value说明
      默认空字符串不执行类型检查,直接挂载。
      (新建)文件目录DirectoryOrCreate文件目录,如果不存在,则新建。
      文件目录Directory文件目录,不存在则容器启动失败。
      (新建)文件FileOrCreate文件,如果不存在,则新建。
      文件File文件,不存在则容器启动失败。
      SocketSocket标准Unix Socket文件,不存在则容器启动失败。
      CharDeviceCharDevice字符设备文件,不存在则容器启动失败。
      BlockDeviceBlockDevice块储存设备文件,不存在则容器启动失败。
    • emptyDir

      emptyDir类型的存储卷主要用于临时空间或者不同容器之间的数据共享。

      参数说明
      挂载模式包含可读写只读
      挂载路径(mountPath)emptyDir的挂载路径。
      subPathExpr使用subPathExpr 字段基于环境变量来构造subPath目录名。
  5. 完成设置后单击创建应用

  6. 应用创建完成页签确认应用基本信息应用配置应用高级设置等信息,确认完毕后单击确定创建应用

    应用总览页面顶部提示信息中,单击查看详情,可在变更记录页面查看变更流程。应用部署需要几分钟,请您耐心等待。变更完成后在应用总览页面的基本信息区域查看实例的运行状态,如果显示为Pod运行中,说明应用部署成功。

在更新应用时配置本地存储

您可在创建应用时配置本地存储,也可以在部署应用时配置或更新本地存储。

  1. 登录EDAS控制台

  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择所属微服务空间,在集群类型下拉列表,选择K8s集群,然后在页面单击具体的应用名称。

  3. 应用总览基本信息页面的右上角,选择部署 > 部署

  4. 选择部署模式页面,选择具体的部署方式,然后在所选方式区域的右上角,单击开始部署

  5. 设置应用的环境和部署包信息后展开本地存储,根据您的需求完成配置后单击确定

    本地存储目前支持宿主机本地文件emptyDir两种类型。

    重要 单击确定后,该应用将会被重启,请在业务较少的时间段进行。
    • 宿主机本地文件
      文件类型Value说明
      默认空字符串不执行类型检查,直接挂载。
      (新建)文件目录DirectoryOrCreate文件目录,如果不存在,则新建。
      文件目录Directory文件目录,不存在则容器启动失败。
      (新建)文件FileOrCreate文件,如果不存在,则新建。
      文件File文件,不存在则容器启动失败。
      SocketSocket标准Unix Socket文件,不存在则容器启动失败。
      CharDeviceCharDevice字符设备文件,不存在则容器启动失败。
      BlockDeviceBlockDevice块储存设备文件,不存在则容器启动失败。
    • emptyDir

      emptyDir类型的存储卷主要用于临时空间或者不同容器之间的数据共享。

      参数说明
      挂载模式包含可读写只读
      挂载路径(mountPath)emptyDir的挂载路径。
      subPathExpr使用subPathExpr 字段基于环境变量来构造subPath目录名。

查看执行结果

  • 方法一:

    在应用的变更记录页面中查看应用变更详情,如果显示执行成功,则表示部署成功,即配置已生效。

  • 方法二:

    应用总览页面单击运行状态右侧的Pod运行状态链接,在容器组(Pod)区域查看Pod的状态,如果显示为代表运行中的绿色圆圈,则说明部署成功,配置已生效。

EDAS容器服务K8s和Serverless K8s交流群

如果您在EDAS中使用容器服务K8s集群和Serverless K8s集群过程中有任何疑问或建议,请使用钉钉搜索钉钉群号23197114加入钉钉群进行反馈。