This documentation is for a release that is no longer maintained
See documentation for the latest supported version.发行注记和已知问题
Red Hat OpenShift Dev Spaces 3.8 的发行注记和已知问题
摘要
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 关于 Red Hat OpenShift Dev Spaces
Red Hat OpenShift Dev Spaces 使用企业级设置在 Red Hat OpenShift 上提供基于 Web 的开发环境:
- 云开发环境(CDE)服务器
- Microsoft Visual Studio Code 等 IDE - 开源和 JetBrains IntelliJ IDEA 社区(技术预览)
- 带有流行的编程语言、框架和红帽技术的容器化环境
Red Hat OpenShift Dev Spaces 非常适合基于容器的开发。
Red Hat OpenShift Dev Spaces 3.8 基于 Eclipse Che 7.72。
1.1. 支持的平台
OpenShift Dev Spaces 在以下 CPU 架构上的 OpenShift 4.10-4.13 上运行:
-
AMD64 和 Intel 64 (
x
86_64) -
IBM Power (
ppc64le
) 和 IBM Z (s390x
)
1.2. 支持政策
对于 Red Hat OpenShift Dev Spaces 3.8,红帽将为部署、配置和使用产品提供支持。
1.3. Red Hat OpenShift Dev Spaces 和 Eclipse Che 之间的区别
Red Hat OpenShift Dev Spaces 和基于 Eclipse Che 的上游项目之间存在一些区别:
- OpenShift Dev Spaces 只在 Red Hat OpenShift 上被支持。
- OpenShift Dev Spaces 基于 Red Hat Enterprise Linux,并定期更新,使其包含最新的安全修复。
- OpenShift Dev Spaces 为使用语言和技术(如 Quarkus、Lombok、NodeJS、Python、DotNet、Golang、C/C++ 和 PHP)提供 devfile。您可以在 devspaces-devfileregistry 容器镜像源 中找到最新的示例项目。
- OpenShift Dev Spaces 使用 OpenShift OAuth 进行用户登录和管理。
红帽提供了许可证和打包,以确保 OpenShift Dev Spaces 的企业级支持。
第 2 章 新功能及功能增强
2.1. 支持从 Bitbucket 服务器构建自定义 devfile registry
在这个版本中,管理员可以从托管在 Bitbucket 上的 devfile registry Git 仓库的克隆创建自定义 devfile registry。
其他资源
2.2. 用户可以在用户首选项中配置 Git 个人访问令牌
在这个版本中,User Preferences 菜单带有一个 个人访问令牌 选项卡。您可以使用选项卡来管理 GitHub、GitLab、Bitbucket 和 Microsoft Azure DevOps 个人访问令牌。这适用于从 OpenShift Dev Spaces Dashboard UI 创建的令牌,以及使用 Kubernetes secret 手动创建的令牌。
其他资源
2.3. 管理工作区 $HOME 目录持久性
此发行版本有两个 CheCluster CR 字段,用于管理与工作区 $HOME 目录相关的持久性:
-
spec.devEnvironments.persistUserHome
字段包含与工作区中 /home/user/ 持久性相关的配置设置。 -
spec.devEnvironments.persistUserHome.enabled
决定 /home/user/ 是否保留在工作区中。这些值的持久性默认为禁用。
其他资源
2.4. 使用 DevWorkspace operator 配置覆盖 OpenShift 集群范围代理设置
在以前的版本中,如果配置了 OpenShift 集群范围代理,则 OpenShift Dev Spaces 中配置的可信 TLS 证书会被忽略。在这个版本中,您可以配置 DevWorkspace operator,以避免这种不必要的行为。
其他资源
2.5. 从作为 Microsoft Visual Studio Code 的父 devfile 导入的命令 - 开源任务
在这个版本中,Microsoft Visual Studio Code - Open Source 作为任务提供了父 devfile 中定义的命令。
其他资源
2.6. 简化添加 Git 个人访问令牌的流程
在以前的版本中,用户在添加个人访问令牌时必须提供 Git 用户名。此步骤冗余,并导致错误。在这个版本中,步骤会从流程中删除。
其他资源
2.7. 指定托管 IDE 的 devfile 组件
默认情况下,OpenShift Dev Spaces 在 devfile 中指定的第一个容器中托管 IDE (Microsoft Visual Studio - Open Source Code 或 JetBrains IntelliJ IDEA 社区版本)。在这个版本中,您可以使用属性 controller.devfile.io/merge-contribution: true
指定托管 IDE 的组件。
在以下示例中,IDE 将托管在 "component2" 中:
schemaVersion: 2.2.0 components: - name: component1 container: image: quay.io/sclorg/postgresql-15-c9s:c9s - name: component2 attributes: controller.devfile.io/merge-contribution: true container: image: quay.io/devfile/developer-base-image:latest
schemaVersion: 2.2.0
components:
- name: component1
container:
image: quay.io/sclorg/postgresql-15-c9s:c9s
- name: component2
attributes:
controller.devfile.io/merge-contribution: true
container:
image: quay.io/devfile/developer-base-image:latest
其他资源
2.8. 自动 Podman 登录到 OpenShift 内部注册表
在这个版本中,Podman 信任 OpenShift 内部容器注册表的 TLS 证书。您可以使用 Podman 在不手动添加证书的情况下拉取镜像。
其他资源
2.9. 在 OpenShift Dev Spaces 升级后自动更新现有工作区 IDE
在这个版本中,现有工作区的 IDE 会在升级后或 IDE 定义改变时自动更新。
其他资源
2.10. 工作区加载页面显示详细的启动进度
在这个版本中,在工作区加载页面功能上"Waiting for a workspace to start"步骤为 7 子任务。此功能增强提供更好的进度反馈,并使故障排除变得更加容易。
其他资源
2.11. 新的 DevWorkspace Operator 指标
在这个版本中,OpenShift Console Operator 指标中提供了以下指标:
- 工作区 CPU 和内存用量
- 节点 CPU 和内存用量
- 正在运行的工作区数
其他资源
第 3 章 程序错误修复
3.1. 修复了为工作区强制容器配置
在此次更新之前,管理员无法强制将容器列表添加到所有工作区。在这个版本中,要在 OpenShift Dev Spaces 中的所有工作区中自动包含特定容器,管理员可以将 URI 指定给在 CheCluster
自定义资源的 devEnvironments.defaultPlugins
中定义容器组件的 devfile。
其他资源
3.2. 修复了来自分支的工作区启动,其中包含名称中的斜杠(/)
在此次更新之前,从带有斜杠(/
)的 Git 存储库的分支启动工作区会导致 "devfile could not be found" 错误。在这个版本中,这个问题已被解决。
其他资源
3.3. 修复了 Operator 覆盖的 CheCluster 自定义资源字段
在此次更新之前,如果管理员自定义了 CheCluster
自定义资源中的一些字段(如 .spec.components.pluginRegistry.openVSXURL
),则 Operator 可能会覆盖这些值。在这个版本中,这个问题已被解决。
其他资源
3.4. 从用户首选项菜单添加 Microsoft Azure DevOps 个人访问令牌
在此次更新之前,开发人员无法从 OpenShift Dev Spaces Dashboard 中的 User Preferences 菜单添加其 Microsoft Azure DevOps 个人访问令牌。在这个版本中,这个问题已被解决。
其他资源
3.5. 修复了 Microsoft Visual Studio Code 中的 GitHub 身份验证错误 - 开源
在此次更新之前,当开发人员试图通过 GitHub 进行身份验证(例如克隆存储库或使用 GitHub 扩展),并带有已过期的 GitHub 令牌或没有令牌的 GitHub 扩展时,操作可能会因为授权错误而失败。在这个版本中,如果没有找到有效的 GitHub 令牌,则会告知用户如何生成它。
其他资源
3.6. 修复了在 IDE 中使用空工作区时的 git push
在此次更新之前,当开发人员启动空工作区(未链接到特定 Git 存储库)或 OpenShift Dev Spaces 示例时,任何 consequent 尝试运行 git push
都会因为授权问题而失败。即使开发人员预配置了 Git 服务的个人访问令牌,也会发生这种情况。在这个版本中,预先配置的个人访问令牌挂载到空工作区和示例工作区中,以便 git push
成功运行。
其他资源
第 4 章 技术预览
技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。但是,Red Hat 订阅级别协议并不包括对这些技术预览功能的完全支持。这些功能可能并不完善,且不适用于生产环境。由于红帽会考虑在将来的产品中使用这些技术预览功能,我们将尝试解决客户在使用这些功能时遇到的问题。请参阅: 技术预览支持范围。
无。
第 5 章 弃用的功能
无。
第 6 章 删除的功能
无。
第 7 章 已知问题
7.1. Microsoft Visual Studio Code - 未自动安装开源扩展
存在一个已知问题:如果您使用 Java 或 Ansible 示例,则推荐的 Microsoft Visual Studio Code 的自动安装 - 开源扩展会失败。
临时解决方案
- 在浏览器中刷新工作区选项卡。
其他资源
7.2. FIPS 合规性更新
FIPS 合规性存在一个已知问题,导致某些加密模块没有被 FIPS 验证。以下是在 OpenShift Dev Spaces 中使用 FIPS 的要求和限制列表:
所需的集群和 Operator 更新
根据需要,将 Red Hat OpenShift Container Platform 安装更新至 4.11、4.12 或 4.13 的最新 z-stream 更新。如果您还没有启用 FIPS,则需要卸载并重新安装。
集群启动并运行后,安装 OpenShift Dev Spaces 3.7.1 (3.7-264),并验证最新的 DevWorkspace operator 捆绑包 0.21.2 (0.21-7)或更新版本也会安装和更新。请参阅 https://catalog.redhat.com/software/containers/devworkspace/devworkspace-operator-bundle/60ec9f48744684587e2186a3
UDI 镜像中的 golang 编译器
通用基础镜像(UDI)容器包含一个 golang 编译器,它是在没有 CGO_ENABLED=1
标志的情况下构建的。check-payload scanner ( https://github.com/openshift/check-payload )会抛出错误,但可以安全地忽略您使用这个编译器构建的任何内容都会设置正确的标志 CGO_ENABLED=1
,且不使用 extldflags -static
或 -tags no_openssl
。
生成的二进制文件可以被扫描,应该会在没有错误的情况下通过。
静态链接的二进制文件
您可以在这两个容器中找到与加密相关的静态链接二进制文件:
- code-rhel8
- idea-rhel8.
因为它们与加密无关,它们不会影响 FIPS 合规性。
对 FIPS 的 Helm 支持
UDI 容器包含 helm
二进制文件,它没有使用 FIPS 支持编译。如果您在 FIPS 环境中,请不要使用 helm
。
其他资源
7.3. 为某些用户提交消息中的用户名和电子邮件错误
目前,对于将 Kubernetes Secret 与 Git-provider 凭证一起使用 的用户存在一个已知问题。这些用户的工作区中 Git 操作的用户名和电子邮件目前来自 <user> - devspaces 命名空间的
Secret。
user
-profile
此已知问题不会影响 由管理员配置的 Git-provider OAuth。
临时解决方案
在运行工作区的编辑器终端中,运行以下命令来设置您的提交作者名称和电子邮件:
git commit config --global user.name <your_name> git commit config --global user.email <your_email>
git commit config --global user.name <your_name> git commit config --global user.email <your_email>
Copy to Clipboard Copied!
其他资源
7.4. 调试器无法在 .NET 示例中工作
目前,Microsoft Visual Studio Code 中的 debugger - 开源无法在 .NET 示例中工作。
临时解决方案
使用以下源的不同镜像:
其他资源
第 8 章 常见问题解答
- 是否可以将应用程序从 OpenShift Dev Spaces 部署到 OpenShift 集群?
-
用户必须使用
oc login
从其运行的工作区登录到 OpenShift 集群。 - 为获得最佳性能,建议使用什么存储用于 OpenShift Dev Spaces 的持久性卷?
- 使用块存储。
- 是否有可能在同一集群中部署多个 OpenShift Dev Spaces 实例?
- 每个集群只能部署一个 OpenShift Dev Spaces 实例。
- 是否可以 离线安装 OpenShift Dev Spaces(不与互联网连接)?
- 请参阅 在受限环境中安装 Red Hat OpenShift Dev Spaces。
- 是否可以在 OpenShift Dev Spaces 中使用非默认证书?
- 您可以使用自签名或公共证书。请参阅 导入不受信任的 TLS 证书。
- 是否可以同时运行多个工作区?
- 请参阅启用用户同时运行多个工作区。