发行注记和已知问题
Red Hat OpenShift Dev Spaces 3.2 的发行注记及已知问题
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始: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.2 is based on Eclipse Che 7.50.
1.1. 支持的部署环境 复制链接链接已复制到粘贴板!
OpenShift Dev Spaces 3.2 在列出的平台上提供,它们使用列出的安装方法:
| 平台 | 构架 | 部署方法 |
|---|---|---|
| OpenShift Container Platform 4.10 |
| |
| OpenShift Container Platform 4.11 |
| |
| OpenShift Dedicated 4.10 |
| |
| OpenShift Dedicated 4.11 |
| |
| Red Hat OpenShift Service on AWS (ROSA) 4.10 |
| |
| Red Hat OpenShift Service on AWS (ROSA) 4.11 |
|
1.2. 支持政策 复制链接链接已复制到粘贴板!
对于 Red Hat OpenShift Dev Spaces 3.2,红帽将为部署、配置和使用产品提供支持。
OpenShift Dev Spaces 3.2 已在 Chrome 版本 101.0.4951.54 (Official Build) (64-bit) 中进行了测试。
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 章 新功能及功能增强 复制链接链接已复制到粘贴板!
2.1. 仪表板示例按支持级别分组 复制链接链接已复制到粘贴板!
在这个版本中,仪表板中的 Tech-Preview 示例会在完全被支持后列出。
其他资源
在这个版本中,OpenShift Dev Spaces 支持 CodeTogether 的完整功能,即 Visual Studio Code 的 pair-programming 扩展。CodeTogether 在 OpenShift Dev Spaces 工作区中启用 Visual Studio Code 会话的实时共享。
其他资源
2.3. dsc server:delete CLI 命令的新 --delete-all 标志 复制链接链接已复制到粘贴板!
在这个版本中,您可以使用 dsc server:delete --delete-all 卸载完整的 Red Hat OpenShift Dev Spaces 实例,其中包括其 operator、related resources 和 OpenShift Dev Spaces 命名空间。如果没有其他 Operator 依赖于它,则 DevWorkspace Operator 也会被移除,如 Web Terminal Operator。
其他资源
2.4. 管理员可以为 OpenShift Dev Spaces 容器设置自定义环境变量 复制链接链接已复制到粘贴板!
在这个版本中,OpenShift Dev Spaces 管理员可以指定将应用到 OpenShift Dev Spaces 核心组件的容器的自定义环境变量。您可以在 CheCluster 自定义资源中指定这些环境变量。
其他资源
2.5. 在 CheCluster 自定义资源中定义默认的持久性存储策略 复制链接链接已复制到粘贴板!
在这个版本中,OpenShift Dev Spaces 管理员可以使用 CheCluster 自定义资源为新工作区定义默认的持久性存储策略:
如果更改存储类型,您的用户可能会丢失工作区数据。
永久
用户:pvcStrategydevEnvironments: storage: pvcStrategy: per-user perUserStrategyPvcConfig: claimSize: __<size>__ storageClass: __<classname>__注意为每个用户的命名空间置备一个单独的 PVC,只适用于该用户的工作区。工作区的所有存储都挂载到工作区 PVC 的 PVC 的子路径上。用户无法同时运行多个工作区。
永久
每个workspace:pvcStrategydevEnvironments: storage: pvcStrategy: per-workspace perWorkspaceStrategyPvcConfig: claimSize: __<size>__ storageClass: __<classname>__注意为命名空间中的每个工作区置备一个单独的 PVC。用户可以同时运行多个工作区。
OpenShift Dev Spaces 还支持 临时存储,您可以在 devfile 中被设置为属性。
在启动新工作区时,用户可以通过输入 URL 参数来覆盖存储策略。请参阅 工作空间存储的 URL 参数。
其他资源
2.6. 升级依赖分析插件 复制链接链接已复制到粘贴板!
Dependency Analytics 插件升级到版本 0.3.6。
其他资源
2.7. 改进了工作空间启动时间 复制链接链接已复制到粘贴板!
这个改进显著提高了工作区启动时间。
其他资源
2.8. 支持的 Github Enterprise 服务器 复制链接链接已复制到粘贴板!
借助此次更新,管理员可以配置 OpenShift Dev Spaces,以自动连接到 GitHub Enterprise Server,并启用了子域隔离,以检索和配置个人访问令牌。这将扩展 OpenShift Dev Spaces 为 GitHub Enterprise Cloud 提供的 OAuth 2.0 支持。
其他资源
2.9. 更新了通用基础镜像 复制链接链接已复制到粘贴板!
在 OpenShift Dev Spaces 3.2 中,通用基础镜像 (UDI) 已被更新,如下所示:
-
Go
pls是Go 语言服务器,它已升级到 0.7.2 版本。 -
golangci-lint被移除,使用gopls中的内置 linter。
其他资源
2.10. 仪表板中的示例卡选择编辑器 复制链接链接已复制到粘贴板!
在这个版本中,用户可以从仪表板中的示例卡中选择编辑器。在示例卡中,进入 ⋮> 选择编辑器 并选择一个可用编辑器之一。
OpenShift Dev Spaces 管理员可以更改 CheCluster 自定义资源中的默认编辑器。
其他资源
第 3 章 程序错误修复 复制链接链接已复制到粘贴板!
在此次更新之前,Git Large File Storage (LFS) 在使用 DevWorkspace Operator 0.15 的 OpenShift Dev Spaces 实例中失败。它失败的原因是包含 git-lfs 配置的 /etc/gitconfig 文件会自动覆盖在工作区中的 Git 提交中设置名称和电子邮件。在这个版本中,将 DevWorkspace Operator 升级到 0.16 可解决这个问题。
其他资源
3.2. 在工作空间启动过程中重定向到 IDE 复制链接链接已复制到粘贴板!
在此次更新之前,仪表板可能无法在工作区启动过程中自动重定向到 IDE,这需要手动重新载入浏览器标签页。在这个版本中,仪表板会在工作空间启动过程中自动重定向到 IDE。
其他资源
3.3. 因多个部署导致 DevWorkspace Operator 崩溃循环 复制链接链接已复制到粘贴板!
在这个版本中,OpenShift Lifecycle Manager 会将 DevWorkspace Operator 视为 OpenShift Dev Spaces 依赖项,Red Hat OpenShift Dev Spaces Operator 不再部署或管理 DevWorkspace Operator。这个改进可防止在 devworkspace-controller 命名空间中出现多个 DevWorkspace Operator 部署,并避免在不受支持的额外 DevWorkspace Operator 中破坏 Webhook。
其他资源
3.4. 更新了 migration-rollback 脚本 复制链接链接已复制到粘贴板!
在此次更新之前,当 rollback.sh 在 1-prepare.sh 后直接运行时,rollback.sh 无法将迁移从 Dev Spaces 回滚到 CodeReady Workspaces。在这个版本中,rollback.sh 脚本会在 1-prepare.sh 后直接回滚迁移。
其他资源
3.5. Bitbucket API 客户端解析服务器 URI 复制链接链接已复制到粘贴板!
在此次更新之前,Bitbucket API 客户端无法因为路径片段而解析服务器 URI。在这个版本中,服务器 URI 使用路径片段成功解决。
其他资源
3.6. 使用在 Bitbucket.org 上托管的公共存储库克隆启动新的工作区 复制链接链接已复制到粘贴板!
在此次更新之前,通过输入 Bitbucket.org-hosted public 存储库的 URL 来启动新的工作区。在这个版本中,您可以通过输入您要克隆到工作区中的 Bitbucket.org 托管公共存储库的 URL 来成功启动新的工作区。
其他资源
3.7. 管理员用户可以将应用部署到 OpenShift 复制链接链接已复制到粘贴板!
在此次更新之前,管理员用户无法将应用从 Dev Spaces 工作区部署到 OpenShift,因为还没有定义这些用户的默认项目。此问题会影响投射了示例命令的 devfile,以将应用程序部署到 OpenShift,包括 Node.js devfile。在这个版本中,当运行示例 devfile 项目中包含的 deploy 命令时,Dev Spaces 工作区项目会被自动选择,从而解决了这个问题。
其他资源
第 4 章 技术预览 复制链接链接已复制到粘贴板!
技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。但是,在 Red Hat Subscription 级别协议中不支持这些功能,可能无法完成,且不适用于生产环境。由于红帽会考虑在将来的产品中使用这些技术预览功能,我们将尝试解决客户在使用这些功能时遇到的问题。请参阅: 技术预览支持范围。
4.1. Visual Studio Code 在 OpenShift Dev Spaces 中作为技术预览提供 复制链接链接已复制到粘贴板!
在这个版本中,Visual Studio Code 作为非受限环境的 技术预览版 编辑器提供。
在 Visual Studio Code 中,devfile 中定义的命令显示为任务。要执行这样的命令,请转至 → 。或者,使用 F1 打开命令面板并键入任务 来查看可用任务相关命令的下拉列表。
Visual Studio Code 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview。
其他资源
第 5 章 已弃用的功能 复制链接链接已复制到粘贴板!
5.1. 在 OpenShift Dev Spaces 中计划弃用 Eclipse Theia 编辑器 复制链接链接已复制到粘贴板!
在 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 中的新默认编辑器引入。Visual Studio Code - 在非air-gapped 集群上的 OpenShift Dev Spaces 3.2 中已 作为技术预览提供,并将在 OpenShift Dev Spaces 3.3 中看到不可差距的支持。
其他资源
第 6 章 删除的功能 复制链接链接已复制到粘贴板!
6.1. 删除 devfile 示例 复制链接链接已复制到粘贴板!
在 OpenShift Dev Spaces 3.2 中,删除了以下 devfile 示例:
- 带有 JBoss EAP XP 3.0 Bootable Jar 的 Java 11
- 使用 Red Hat Fuse 的 Java 11
- 带有 Vert.x Booster 的 Java 11
- 带有 Vert.x 演示的 Java 11
- 带有 Spring Boot 的 Java 8
- 使用 ConfigMap 的 nodejs 16
- .NET 3.1
程序错误修复及支持只在 OpenShift Dev Spaces 3.1 生命周期结束时提供。
其他资源
第 7 章 已知问题 复制链接链接已复制到粘贴板!
7.1. 重新部署 DevWorkspace Operator 可能会失败 复制链接链接已复制到粘贴板!
目前,在运行 dsc server:delete --delete-all 命令后重新部署 DevWorkspace Operator 会失败。
临时解决方案
删除剩余的 DevWorkspace Operator 资源:
workspaces=$(oc get devworkspaces --all-namespaces | awk 'NR>1 {print $1}') \ && for workspace in $workspaces ; do \ oc patch devworkspaces/$workspace -p '{ "metadata": { "finalizers": null }}' --type merge || true; \ oc delete devworkspaces/$workspace || true; \ done \ && oc delete crd/devworkspaces.workspace.devfile.io注意如果
oc delete crd/devworkspaces.workspace.devfile.io命令失败,则必须深度清理您的 OpenShift 集群。- 重新部署 DevWorkspace Operator。
其他资源
7.2. 在启动具有相同名称的工作区时 Visual Studio Code 行为 复制链接链接已复制到粘贴板!
目前,工作区中浏览器 Visual Studio Code 编辑器存在一个已知问题。当您创建一个具有相同名称的工作区时,会出现这种情况。Visual Studio Code 不会显示关于推荐扩展的弹出窗口通知,而对话框 Do您信任此文件夹中文件的作者?另外,Visual Studio Code 会自动重新打开同一名称之前工作区中的最后一个打开的文件。当前没有解决此问题的方法。
其他资源
7.3. 新的工作区可能无法使用 Visual Studio Code 启动 复制链接链接已复制到粘贴板!
目前,当输入 Git 存储库的 URL 不包含 devfile 并指定技术预览编辑器 Visual Studio Code 时,启动一个新的工作区会失败。错误消息声明了以下原因:Unable to resolve che-code plugins: Not able to find any dev container component in DevWorkspace。当前没有解决此问题的方法。
其他资源
7.4. 对于指定的 Git 修订,克隆私有 Git 存储库会失败 复制链接链接已复制到粘贴板!
目前,在启动克隆私有 Git 存储库的工作区时,存在一个已知问题。成功克隆并读取远程 Git 存储库后,project-clone 容器无法签出指定的 Git 修订,例如功能分支或 PR 分支。因此,远程 Git 存储库被克隆到名为 project-clone- <random_characters> 的临时目录中。
在 OpenShift Dev Spaces 中,用户可以通过两种方式为新工作区指定 Git 修订版本:
-
通过在 devfile 中添加
checkoutFrom部分。 - 通过在浏览器中或 OpenShift Dev Spaces 仪表板中访问或输入功能分支的 URL 或拉取请求。
临时解决方案
如果您在 devfile 中使用
checkoutFrom部分,如下所示:-
在启动新的工作区前,从 devfile 中删除或注释掉
checkoutFrom部分。 - 克隆存储库后,切换到所需的修订版本。
-
在启动新的工作区前,从 devfile 中删除或注释掉
如果您使用功能分支的 URL 或拉取请求来启动新的工作区,如下所示:
- 在启动新的工作区时,请输入存储库的 URL,而无需任何分支语法。
- 克隆存储库后,切换到所需的修订版本。
其他资源
7.5. 无法从添加容器 registry 中拉取私有容器镜像 复制链接链接已复制到粘贴板!
目前,当从添加到仪表板中的容器 registry 中拉取( → )时,拉取私有容器镜像会失败。
临时解决方案
删除
devworkspace-container-registry-dockercfgSecret:$ oc delete secret devworkspace-container-registry-dockercfg -n <openshift_project>创建一个新的
devworkspace-container-registry-dockercfgSecret:$ oc create secret docker-registry devworkspace-container-registry-dockercfg --docker-username=<username> --docker-password=<password> -n <openshift_project>编辑新 Secret 的元数据:
labels: controller.devfile.io/devworkspace_pullsecret: 'true' controller.devfile.io/watch-secret: 'true'
其他资源
7.6. 启动和删除的工作区可能会失败 复制链接链接已复制到粘贴板!
目前,工作区可能无法启动,因此您可能无法删除它。这是因为持久性卷声明(PVC)问题造成的。因此,在其他工作区中会出现同样的问题。
临时解决方案
-
删除第一个卡住工作区的
DevWorkspace对象。 - 删除绑定到无效卷的 PVC。
其他资源
7.7. 在受限环境中,Java Gradle 示例会失败 复制链接链接已复制到粘贴板!
目前,在受限环境中,Java Gradle 示例存在一个已知问题。运行 1-build 命令以构建应用程序可能会导致 FAILURE: Build failed with an exception 错误,且无法加载原生库,或者没有解析插件存储库中的插件工件。当前没有解决此问题的方法。
其他资源
7.8. CheCluster 自定义资源保留其预升级名称 复制链接链接已复制到粘贴板!
目前,CheCluster 自定义资源的名称与之前从 CodeReady Workspaces 2.15 升级到 OpenShift Dev Spaces 3.2 前相同。在升级前,Checluster 自定义资源名称为 codeready-workspaces 的客户会在升级后找到相同的名称。当前没有解决此问题的方法。
其他资源
7.9. 用户无法在仪表板中编辑配置集信息 复制链接链接已复制到粘贴板!
目前,仪表板中的帐户 页面将保留仅用于显示目的。若要编辑用户配置文件,用户必须在 OpenShift 中执行此操作,因为 OpenShift OAuth 用于 OpenShift Dev Spaces 中的用户管理。
其他资源
第 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