第 7 章 为工作区请求持久性存储


OpenShift Dev Spaces 工作区和工作区数据是临时的,并在工作区停止时丢失。

要在工作空间停止时保留持久性存储中的工作区状态,请为机构的 OpenShift Dev Spaces 实例的 OpenShift 集群中的 Dev Workspace 容器请求 Kubernetes PersistentVolume (PV)。

您可以使用 devfile 或 Kubernetes PersistentVolumeClaim (PVC)请求 PV。

PV 示例是工作区的 /projects/ 目录,默认为非临时工作区挂载。

持久性卷的成本:附加持久性卷会减慢工作空间启动的速度。

警告

启动另一个空间,使用 ReadWriteOnce PV 同时运行工作区可能会失败。

7.1. 在 devfile 中请求持久性存储

当工作区需要其自身持久性存储时,在 devfile 中请求 PersistentVolume (PV),OpenShift Dev Spaces 将自动管理所需的 PersistentVolumeClaim。

先决条件

  • 您没有启动工作区。

流程

  1. 在 devfile 中添加 组件:

    ...
    components:
      ...
      - name: <chosen_volume_name>
        volume:
          size: <requested_volume_size>G
      ...
    Copy to Clipboard Toggle word wrap
  2. 为 devfile 中的相关 容器 添加 volumeMount

    ...
    components:
      - name: ...
        container:
          ...
          volumeMounts:
            - name: <chosen_volume_name_from_previous_step>
              path: <path_where_to_mount_the_PV>
          ...
    Copy to Clipboard Toggle word wrap

例 7.1. 为容器工作区置备 PV 的 devfile

当使用以下 devfile 启动工作区时,缓存 PV 会置备到 ./cache 容器路径中的 golang 容器:

schemaVersion: 2.1.0
metadata:
  name: mydevfile
components:
  - name: golang
    container:
      image: golang
      memoryLimit: 512Mi
      mountSources: true
      command: ['sleep', 'infinity']
      volumeMounts:
        - name: cache
          path: /.cache
  - name: cache
    volume:
      size: 2Gi
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat