发行注记和已知问题


Red Hat OpenShift Dev Spaces 3.3

Red Hat OpenShift Dev Spaces 3.3 发行注记和已知问题

Robert Kratky

Fabrice Flore-Thébault

Red Hat Developer Group Documentation Team

摘要

有关新功能以及 Red Hat OpenShift Dev Spaces 3.3 中已知的问题的信息。

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 About Red Hat OpenShift Dev Spaces

Red Hat OpenShift Dev Spaces 是一个基于 Web 的集成开发环境 (IDE)。OpenShift Dev Spaces 在 OpenShift 中运行,非常适合基于容器的开发。

OpenShift Dev Spaces 提供:

  • 企业级云开发人员工作空间服务器
  • 基于浏览器的 IDE
  • 可直接使用的开发人员堆栈,适用于流行的编程语言、框架和红帽技术

Red Hat OpenShift Dev Spaces 3.3 基于 Eclipse Che 7.56。

1.1. 支持的平台

OpenShift Dev Spaces 在以下 CPU 架构的 OpenShift 4.10 和 4.11 上运行:

  • AMD64 和 Intel 64 (x86_64)
  • IBM Power (ppc64le)和 IBM Z (s390x)

1.2. 支持政策

对于 Red Hat OpenShift Dev Spaces 3.3,红帽将为部署、配置和使用产品提供支持。

OpenShift Dev Spaces 3.3 已在 Chrome 版本 101.0.4951.54 (官方构建)上进行测试。

1.3. Eclipse Che 和 Red Hat OpenShift Dev Spaces 的不同

OpenShift Dev Spaces 和 Eclipse Che 之间的主要区别是:

  • 与 Alpine 发行版(需要长时间更新)相比,OpenShift Dev Spaces 基于 RHEL8 构建,以确保包含最新的安全修复。
  • OpenShift Dev Spaces 使用 OpenShift OAuth 进行用户登录和管理。
  • 与 Che 相比,OpenShift Dev Spaces 提供了较小的插件子集。
  • OpenShift Dev Spaces 为使用其他红帽技术(如 EAP 和 Fuse)提供 devfile。
  • OpenShift Dev Spaces 在 OpenShift Container Platform、OpenShift Dedicated 和 Red Hat OpenShift Service on AWS (ROSA) 上受支持;Eclipse Che 也可以在其他 Kubernetes 集群上运行。

红帽提供许可、打包和支持。因此,OpenShift Dev Spaces 被视为比上游 Eclipse Che 项目更稳定的产品。

第 2 章 新功能及功能增强

此功能增强在 CheCluster 自定义资源中添加了一个 autoProvision 字段,其中 OpenShift Dev Spaces 管理员可以禁用自动置备用户命名空间:

spec:
   components
   containerRegistry
   devEnvironments:
     defaultNamespace:
       autoProvision: true 
1
1
true 是默认值。
警告

如果将 autoProvision 设置为 false,并且用户还没有 OpenShift Dev Spaces 命名空间,则工作空间创建将失败。

其他资源

2.2. OpenShift Toolkit update

在这个版本中,Microsoft Visual Studio Code 的 OpenShift Toolkit 扩展 - Open Source 更新至版本 1.0.0,它提供对 odo 3.3.0 的支持。

其他资源

2.3. 改进了 Git-provider OAuth 配置的 UX

在这个版本中,管理员可以在 CheCluster 自定义资源和 OpenShift Web 控制台中选择其 Git 提供程序的 OAuth 应用 Secret。

其他资源

在这个版本中,您可以使用 Microsoft Visual Studio Code - 受限环境中的工作区中的开源。为了管理扩展,OpenShift Dev Spaces 现在在插件 registry pod 中包含本地缓存的 Open VSX Registry 实例。

其他资源

在 OpenShift Dev Spaces 3.3 中,工作区中的默认编辑器是 Microsoft Visual Studio Code - 开源 IDE

提示

在 Visual Studio Code - 开源,devfiles 中定义的命令显示为工作空间任务。要执行这些任务,请转至 TerminalRun Task。或者,F1 打开 Command locate and type 任务,以查看可用任务的下拉列表。

其他资源

2.6. 更新了 dsc server:delete CLI 命令的选项

此功能增强更新了 dsc server:delete CLI 命令的选项

  • --delete-all 选项删除 Dev Workspace Operator 和相关资源。
  • --delete-namespace 选项删除 OpenShift Dev Spaces 命名空间。

其他资源

在这个版本中,当您使用该仓库的 URL 来启动新工作区时,OpenShift Dev Spaces 会获取远程 Git 存储库中的 devfile.yamlche-editor.yaml 文件的最新版本。

其他资源

2.8. 更新了通用基础镜像

在 OpenShift Dev Spaces 3.3 中,通用基础镜像(UDI)被更新,如下所示:

  • 改进了 Python 3.9 工具支持:

    • 带有 jq (JSON 解析)和 yq (YAML 解析)。
    • pytest 已添加到路径(以及 pylintpip)中,以便更轻松地使用。
  • kamel 二进制文件已被删除。
提示

要包括其他工具或运行时,管理员可以扩展、分叉或将 UDI 镜像替换为包含适合您机构的工具以及用户的需求。然后可在 CheCluster 自定义资源中引用该替换镜像,以便用户可以在 devfile 中使用自定义镜像。这将确保它们所需的工具和运行时是持久的,不需要在每个工作区启动时安装。

用户也可以开发自己的 UDI 镜像,并从 devfile 中引用它们。这需要将镜像发布到可从其机构集群访问的 registry。但是,这种方法不太集中且标准化,也可能无法扩展或性能。

其他资源

2.9. 示例项目的更新

在 OpenShift Dev Spaces 3.3 中,仪表板中提供的示例项目已更改,如下所示:

  • .NET 示例已更新为使用 .NET 7 运行。
  • Camel K 示例已被删除。
  • PHP DI 示例已被删除。
  • EAP 7.4 和 EAP XP3 示例已被删除。

其他资源

在这个版本中,计算 OpenShift Dev Spaces 资源要求 已被改进,使其包含 CPU 详情和 Microsoft Visual Studio Code - Open Source,这是新的默认编辑器。

其他资源

2.11. 覆盖 devfile 中的工作区 Pod 和容器字段

在这个版本中,用户可以指定任意字段并覆盖 devfile 中工作区 Pod 和容器的任何字段。这包括 runtimeClassNameschedulerName 和 Kubernetes 扩展的资源,作为 nvidia.com/gpu。为此,用户可以使用新的 pod-overridescontainer-overrides 属性。

其他资源

2.12. 从控制面板启动没有示例项目的工作区

在这个版本中,仪表板中有一个 Empty Workspace 标题,您可以在其中创建一个空的工作区。这种工作区从您选择的 IDE 和 UDI 镜像开始,其中包含用于 Java、Python、Node.js、C/C++、PHP、.Net 和其他语言的各种工具和 CLI 应用程序。打开后,您可以使用工作区中的 IDE 来克隆远程 Git 存储库。

其他资源

在这个版本中,管理员可以在 CheCluster 自定义资源中配置存储类和工作区大小。

其他资源

2.14. 自签名证书导入现在更为简单

通过此增强,管理员可以更轻松地在 OpenShift Dev Spaces 中添加 Git 提供程序的自签名证书。请参阅 Git 中使用自签名证书 执行此操作 的步骤。

其他资源

2.15. 在 CheCluster CR 中启用容器构建

在这个版本中,管理员可以在 CheCluster 自定义资源中设置 devEnvironments.disableContainerBuildCapabilities: true 来启用容器构建。这可让用户在任何工作区上运行 podman build。不再需要在 devfile 中添加属性 controller.devfile.io/scc: container-build

其他资源

在这个版本中,OpenShift Dev Spaces 在创建 工作区页面中为用户显示一个警告, 其中 devfile 在远程 Git 仓库中的 devfile 无效。该警告为用户提供两个选项: 继续使用默认的 devfileReload。当用户编辑和测试 devfile 时,这个功能特别有用。

其他资源

2.17. GitHub Enterprise Server 支持的子域隔离

在这个版本中,OpenShift Dev Spaces 支持 GitHub Enterprise Server 客户 的子域隔离。管理员可以在 CheCluster 自定义资源中启用子域隔离:

spec:
  gitServices:
    github:
      - endpoint: 'https://github.com'
        secretName: github-oauth-config
        disableSubdomainIsolation: true

其他资源

第 3 章 程序错误修复

3.1. 支持 .NET 7

自 OpenShift Dev Spaces 3.3 起,.NET 示例项目已被重新引入。它已更新为使用 .NET 版本 7 运行。

其他资源

在此次更新之前,在使用指向私有容器 registry 的 devfile 时,工作区无法启动。即使用户在仪表板的用户首选项中添加 registry 也会发生此失败。在这个版本中,您可以从 devfile 启动指向私有容器 registry 中的容器镜像的工作区。在使用此类 devfile 启动工作区前,您必须在仪表板的用户首选项的 Add Container Registry 对话框中添加 registry。

其他资源

在此次更新之前,回归问题会导致在工作空间创建过程中忽略克隆的远程 Git 存储库的 /.vscode//.che/ 子文件夹。这个问题只与托管在 GitHub、GitLab 或 Bitbucket 上的 Git 存储库相关。在这个版本中,这些子文件夹中的文件会在工作空间创建过程中获取和处理。

其他资源

在此次更新之前,在 prod-namespace 命名空间中具有 spec.components.imagePuller.enable: true 的 CheCluster 自定义资源会导致 Kubernetes Image Puller Operator 因为无效的 OperatorGroup 而失败。这导致以下出错信息: Operator 失败 OwnNamespace InstallModeType 不支持,无法配置以监视自己的命名空间。在这个版本中,Kubernetes Image Puller Operator 使用空 targetNamespaces 创建正确的 OperatorGroup 解决了这个问题。

其他资源

在此次更新之前,dsc server:delete --delete-namespace 会删除安装 OpenShift Dev Spaces 实例的任何命名空间,即使在安装过程中意外选择 openshift-operators 命名空间。删除 openshift-operators 命名空间可能会导致意外删除其他安装的 Operator。在这个版本中,使用 --delete-namespace 选项的 dsc server:delete 命令不会删除 openshift-operators 命名空间。

注意

OpenShift Dev Spaces 的默认命名空间是 openshift-devspacesdsc CLI 工具默认在正确的命名空间中安装 OpenShift Dev Spaces。要在 OpenShift Web 控制台中正确安装 OpenShift Dev Spaces,请参阅管理指南。https://access.redhat.com/documentation/zh-cn/red_hat_openshift_dev_spaces/3.3/html-single/administration_guide/index#installing-devspaces-on-openshift-using-the-web-console

其他资源

在此次更新之前,因为 Kubernetes 配额,当工作区启动失败时没有显示错误消息。在这个版本中,因为用户命名空间中的配额不足,当 OpenShift Dev Spaces 无法创建工作区 Pod 时,错误会在工作空间启动过程中成功显示。

其他资源

在此次更新之前,如果管理员配置了信任 Git 供应商的自签名 TLS 证书,且 带有一个缺少 githost 部分的 che-git-self-signed-cert ConfigMap,则工作区创建会失败。生成的 /etc/gitconfig 文件包含一个格式不正确的 http 指令,该指令与任何 URL 不匹配。在这个版本中,这个问题已被解决,/etc/gitconfig 文件会如预期包含 [http] 行。

其他资源

3.8. 改进了启动带有名称冲突的新工作区的 UX

在此次更新之前,启动一个带有用于另一个工作区的名称的工作区会导致 创建工作区 页面显示 Failed to create a workspace 错误信息。在这个版本中,创建工作区 页面会警告 找到了现有工作区 的用户,并提示用户 打开现有的工作区 或创建新工作区

其他资源

第 4 章 技术预览

技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。但是,在 Red Hat Subscription 级别协议中不支持这些功能,可能无法完成,且不适用于生产环境。由于红帽会考虑在将来的产品中使用这些技术预览功能,我们将尝试解决客户在使用这些功能时遇到的问题。请参阅: 技术预览支持范围

无。

第 5 章 已弃用的功能

在下一个发行版本中,OpenShift Dev Spaces 3.4,Eclipse Theia 编辑器将被弃用,其扩展将不再被维护。Eclipse Theia 将在 OpenShift Dev Spaces 的后续发行版本中删除。红帽将不再为 OpenShift Dev Spaces 中的 Eclipse Theia 提供程序错误修正和支持,但会在从 OpenShift Dev Spaces 中删除前提供安全修复。虽然您的用户 可以继续使用 Eclipse Theia 直到移除为止,但您必须准备将用户迁移到 Visual Studio Code - Open Studio Code,它作为 新的默认编辑器在 OpenShift Dev Spaces 3.3 中出现空缺支持。

其他资源

第 6 章 删除的功能

6.1. 删除 devfile 示例

在 OpenShift Dev Spaces 3.3 中,删除了以下 devfile 示例:

  • 带有 JBoss EAP 7.4 的 Java 11
  • 带有 JBoss EAP XP 3.0 的 Java 11
  • Apache Camel K
  • PHP DI

程序错误修复及支持仅通过 OpenShift Dev Spaces 3.2 生命周期结束提供。

其他资源

第 7 章 已知问题

目前,在启动克隆私有 Git 存储库的工作区时,存在一个已知问题。成功克隆并读取远程 Git 存储库后,project-clone 容器无法签出指定的 Git 修订,例如功能分支或 PR 分支。因此,远程 Git 存储库被克隆到名为 project-clone- <random_characters&gt; 的临时目录中。

注意

在 OpenShift Dev Spaces 中,用户可以通过两种方式为新工作区指定 Git 修订版本:

  • 通过在 devfile 中添加 checkoutFrom 部分。
  • 通过在浏览器中或 OpenShift Dev Spaces 仪表板中访问或输入功能分支的 URL 或拉取请求。

临时解决方案

  • 如果您在 devfile 中使用 checkoutFrom 部分,如下所示:

    1. 在启动新的工作区前,从 devfile 中删除或注释掉 checkoutFrom 部分。
    2. 克隆存储库后,切换到所需的修订版本。
  • 如果您使用功能分支的 URL 或拉取请求来启动新的工作区,如下所示:

    1. 在启动新的工作区时,请输入存储库的 URL,而无需任何分支语法。
    2. 克隆存储库后,切换到所需的修订版本。

其他资源

7.2. 在受限环境中,Java Gradle 示例会失败

目前,在受限环境中,Java Gradle 示例存在一个已知问题。运行 1-build 命令以构建应用程序可能会导致 FAILURE: Build failed with an exception 错误,且无法加载原生库,或者没有解析插件存储库中的插件工件。当前没有解决此问题的方法。

其他资源

第 8 章 常见问题解答

可以从 OpenShift Dev Spaces 将应用部署到 OpenShift 集群吗?
是。用户必须使用 oc login 从其运行的工作区登录到 OpenShift 集群。
为获得最佳性能,建议使用什么存储用于 OpenShift Dev Spaces 的持久性卷?
使用块存储。
是否有可能在同一集群中部署多个 OpenShift Dev Spaces 实例?
不建议这样做。这个功能可能会在以后的版本中删除。
是否可以 离线安装 OpenShift Dev Spaces(不与互联网连接)?
是。请参阅 OpenShift 中的受限环境中安装 Red Hat OpenShift Dev Spaces
是否可以在 OpenShift Dev Spaces 中使用非默认证书?
是的,您可以使用自签名或公共证书。请参阅 导入不受信任的 TLS 证书
是否可以同时运行多个工作区?
是。请参阅启用用户同时运行多个工作区
为 IBM Power 系统实施哪些具体更改?

增加了某些插件的内存限值,为 Pod 提供足够的 RAM 才能运行。

Expand
表 8.1. IBM Power 系统和其它构架之间的区别示例
插件IBM Power 系统其他构架

Che-Theia 编辑器

2G

512M

OpenShift connector

2.5G

1.5G

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部