通常存储在容器中的数据是非持久化的,在容器销毁以后数据也将丢失。在当代高速发展的互联网环境下,数据丢失意味着线上生产环境的灾难性事件。EDAS的K8s集群支持PVC挂载功能,实现了应用实例数据持久化存储和实例间多读共享数据。本文介绍如何配置持久化存储。

前提条件

创建持久化存储卷声明

在创建应用时配置持久化存储

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面左上角,单击创建应用
  3. 应用基本信息页签,选择集群类型和应用运行环境,然后在页面最下方单击下一步
    配置项 描述
    集群类型 选择Kubernetes集群
    应用运行环境 根据选择的托管应用类型选择应用运行环境。
    • Java:
      • 自定义:适用于在K8s集群中使用自定义的镜像部署应用。
      • Java:支持通用的JAR包部署,适用于Dubbo和Spring Boot应用。在选择后可更改Java环境。
      • Tomcat:支持通用的WAR包部署,适用于Dubbo和Spring应用。在选择后可更改Java环境和容器版本。
      • EDAS-Container(HSF):适用于使用WAR或者FatJar部署HSF应用。在选择后可更改Java环境、Pandora版本和Ali-Tomcat版本。
    • PHP:适用于运行在Apache HTTP Server中的PHP应用程序。
    • 多语言Node.js、C++、Go...:适用于在K8s集群中使用自定义的镜像部署应用。此处未介绍多语言应用的配置流程,如需了解更多信息,请参见在K8s环境中通过镜像部署多语言微服务应用
  4. 应用配置页签,设置应用的环境信息、基本信息、部署方式和资源参数,设置完成后单击下一步
  5. 应用高级设置页签,展开持久化部署,设置持久化存储数据和日志等信息。
    配置项 描述
    PVC挂载

    推荐使用通过PVC挂载方式配置持久化存储。使用该方式可以支持应用使用阿里云存储服务云盘EBS、文件存储(NAS和CPFS)、对象存储OSS和本地盘。在使用PVC挂载之前,需要先参考待使用的存储服务来创建存储卷,然后在页面添加挂载。

    创建PVC的方式,请参见NAS存储卷概述OSS存储卷概述CPFS存储卷概述本地存储卷概述

    说明 通过修改YAML方式配置的PVC挂载,在部署应用时将不会显示已存在的PVC挂载,仅部署时会保留这些配置。推荐您在使用EDAS部署应用时配置PVC挂载。
    选择PVC 在下拉列表中选择PVC。如果没有可选的PVC,请参见创建持久化存储卷声明
    挂载配置 分别设置挂载目录挂载模式
  6. 完成设置后单击创建应用
  7. 应用创建完成页签确认应用基本信息应用配置应用高级设置等信息,确认完毕后单击确定创建应用
    在应用 应用总览页面顶部提示信息中,单击 查看详情,可在 变更记录页面查看变更流程。应用部署需要几分钟,请您耐心等待。变更完成后在 应用总览页面的 基本信息区域查看实例的运行状态,如果显示为Pod运行中,说明应用部署成功。

在更新应用时配置持久化存储

除了在创建应用时可以配置PVC挂载,也可以在部署应用时配置或更新PVC挂载。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择命名空间,在集群类型下拉列表,选择容器服务/Serverless K8s集群,然后在页面单击具体的应用名称。
  3. 应用总览基本信息页面的右上角,选择部署 > 部署
  4. 选择部署模式页面,选择具体的部署方式,然后在所选方式区域的右上角,单击开始部署
  5. 设置应用的环境和部署包信息后展开持久化存储,根据您的需求完成配置后单击确定
    配置项 描述
    PVC挂载

    推荐使用通过PVC挂载方式配置持久化存储。使用该方式可以支持应用使用阿里云存储服务云盘EBS、文件存储(NAS和CPFS)、对象存储OSS和本地盘。在使用PVC挂载之前,需要先参考待使用的存储服务来创建存储卷,然后在页面添加挂载。

    创建PVC的方式,请参见NAS存储卷概述OSS存储卷概述CPFS存储卷概述本地存储卷概述

    说明 通过修改YAML方式配置的PVC挂载,在部署应用时将不会显示已存在的PVC挂载,仅部署时会保留这些配置。推荐您在使用EDAS部署应用时配置PVC挂载。
    选择PVC 在下拉列表中选择PVC。如果没有可选的PVC,请参见创建持久化存储卷声明
    挂载配置 分别设置挂载目录挂载模式
    重要 单击 确定后,该应用将会被重启,请在业务较少的时间段进行。

取消持久化存储

挂载PVC后,如果您不再使用持久化存储,可通过重新部署应用取消挂载。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择命名空间,在集群类型下拉列表,选择容器服务/Serverless K8s集群,然后在页面单击具体的应用名称。
  3. 应用总览基本信息页面的右上角,选择部署 > 部署
  4. 选择部署模式页面,选择具体的部署方式,然后在所选方式区域的右上角,单击开始部署
  5. 设置应用的环境和部署包信息后展开持久化存储,取消挂载PVC后单击确定
    重要 单击 确定后,该应用将会被重启,请在业务较少的时间段进行。
    在EDAS控制台取消挂载后,您在PVC中所存储的数据仍然存在,不会被删除。

常见问题

  • 如何查看PVC文件系统中的内容,有没有页面可以查看?

    如果需要查看PVC文件系统中的内容,需要将PVC文件系统挂载到具体的ECS或容器上查看。具体操作,请参见创建持久化存储卷声明

  • 文件日志指定的目标路径,可以与PVC指定的存储路径相同吗?

    不可以。

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

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