3.16.0 发行注记和已知问题
3.16.0 发行注记和 Red Hat OpenShift Dev Spaces 3.16 的已知问题
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 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 - 开源和 JetBrains IntelliJ IDEA 社区(技术预览)
- 带有流行编程语言、框架和红帽技术的容器化环境
Red Hat OpenShift Dev Spaces 非常适合基于容器的开发。
Red Hat OpenShift Dev Spaces 3.16 基于 Eclipse Che 7.90。
1.1. 支持的平台 复制链接链接已复制到粘贴板!
OpenShift Dev Spaces 在以下 CPU 架构上的 OpenShift 4.12-4.16 上运行:
-
AMD64 和 Intel 64 (
x86_64) -
IBM Z (
s390x)
以下 CPU 架构需要 Openshift 4.13-4.16 来运行 OpenShift Dev Spaces:
-
IBM Power (
ppc64le)
1.2. 支持政策 复制链接链接已复制到粘贴板!
对于 Red Hat OpenShift Dev Spaces 3.16,红帽将为部署、配置和使用产品提供支持。
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++ 等语言和技术,在 air-gap 模式中支持获取的示例。社区示例位于 Devfile 注册表页面。
- OpenShift Dev Spaces 使用 OpenShift OAuth 进行用户登录和管理。
红帽提供了许可证和打包,以确保对 OpenShift Dev Spaces 的企业级支持。
第 2 章 新功能及功能增强 复制链接链接已复制到粘贴板!
2.1. 为 devworkspace-webhook-server 添加 pod 放置功能并使其更强大 复制链接链接已复制到粘贴板!
在这个版本中,devworkspace-webhook-server 部署选项在全局 DevWorkspaceOperatorConfig (DWOC)中提供,包括 副本、pod tolerations 和 nodeSelector。
这些配置选项存在于全局 DWOC 的 config.webhook 字段中:
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-operator-config
namespace: $OPERATOR_INSTALL_NAMESPACE
config:
routing:
clusterHostSuffix: 192.168.49.2.nip.io
defaultRoutingClass: basic
webhook:
nodeSelector: <string, string>
tolerations: <[]tolerations>
replicas: <int32>
要让 devworkspace-webhook-server 配置选项生效:
-
您必须将它们放在 全局 DWOC 中,其名称为
devworkspace-operator-config,并存在于安装了 DevWorkspaceOperator 的命名空间中。如果集群中不存在它,则必须创建它。 - 您必须终止 devworkspace-controller-manager pod 并重启它,以便可以相应地调整 devworkspace-webhook-server 部署。
另外,devworkspace-webhook-server 部署的默认副本数增加到 2 以增加可用性。
其他资源
2.2. 警告用户从未知源创建 CDE 可能是危险的 复制链接链接已复制到粘贴板!
在这个版本中,当您从 URL 启动云开发环境(CDE)时,要求您信任存储库的作者,因为从未知或不受信任的源创建工作区可能会危险。
其他资源
2.3. 'Import from Git' 流的高级配置选项 复制链接链接已复制到粘贴板!
从这个版本开始,可以使用 "Import from Git" 流启动 CDE 时配置容器镜像、临时存储、内存和 CPU 限制。
其他资源
2.4. 从用户仪表板进行 Git 配置 复制链接链接已复制到粘贴板!
在这个版本中,您只能为 Git 配置设置 名称和 电子邮件,还可以从 User Dashboard 上传和编辑整个 .gitconfig 文件。
其他资源
从这个版本开始,您可以在 CheCluster CustomResource 级别上明确设置 ignoredUnrecoverableEvents :
apiVersion: org.eclipse.che/v2
kind: CheCluster
spec:
devEnvironments:
ignoredUnrecoverableEvents:
- FailedScheduling
- FailedMount
有关配置 ignoredUnrecoverableEvents 的更多详细信息,请参阅 官方文档。
其他资源
2.6. 在自定义资源中添加 DisableInitContainer 字段 复制链接链接已复制到粘贴板!
DisableInitContainer 字段已添加到 CheCluster CR 中。此字段在 operator-owned DWOC 中设置 config.workspaces.persistUserHome.disableInitContainer 字段。此字段是否应禁用初始化持久主目录的 init 容器。
当 /home/user 目录持久化时,init 容器会在工作区启动前初始化目录。如果设置为 true,则不会创建 init 容器,将家持久性设置委派到 CDE 的第一个容器组件的入口点。如果 devEnvironments.persistUserHome.enabled 字段设置为 false,则不使用此字段。
init 容器默认启用。
其他资源
第 3 章 程序错误修复 复制链接链接已复制到粘贴板!
3.1. 允许 Git 提供程序端点中的端口用于个人访问令牌 复制链接链接已复制到粘贴板!
在这个版本中,您可以在用户仪表板上添加个人访问令牌时,在 Git Provider Endpoint 的 URL 中提供端口。在以前的版本中,因为严格的验证无法进行。
其他资源
3.2. 如果启用了 persistHome,则不会更新 .kube/config 中的令牌 复制链接链接已复制到粘贴板!
在此版本之前,当启用 spec.devEnvironments.persistUserHome 选项时,.kube/config 中的令牌不会在工作区重启过程中自动更新。
您可以在 官方文档 中找到有关自动令牌注入的更多详细信息。
其他资源
3.3. 在从本地 devfile 重启工作区时保留项目 复制链接链接已复制到粘贴板!
在以前的版本中,在使用 Local Devfile 功能中的 Restart Workspace 后,不会正确设置 PROJECTS_ROOT 和 PROJECT_SOURCE 环境变量。这个版本解决了这个缺陷。
其他资源
3.4. Devfile 中的 $PATH 环境变量不一致 复制链接链接已复制到粘贴板!
在以前的版本中,当在 devfile 中使用命令定义执行命令时,它们有不同的 $PATH,与 components 部分中定义的容器中启动的命令不同。这个版本解决了这个缺陷。
其他资源
3.5. 用户提供的环境变量不能引用 $PROJECT_ROOT 或 $PROJECT_SOURCE 复制链接链接已复制到粘贴板!
在以前的版本中,用户无法在其 devfile 环境变量中引用 $PROJECT_ROOT 或 $PROJECT_SOURCE 环境变量。这个版本解决了这个问题。
其他资源
3.6. 在启动时工作空间状态 flickering 复制链接链接已复制到粘贴板!
在以前的版本中,在工作区启动过程中,即使工作区启动成功,状态可能会意外变为 'Stopped'。这个版本解决了这个缺陷,在工作空间启动过程中会忽略状态更改。
其他资源
3.7. 如果存储库没有'devfile.yaml',使用指定分支的克隆启动新的工作区无法正常工作 复制链接链接已复制到粘贴板!
在以前的版本中,如果存储库没有 devfile.yaml,使用指定分支的克隆启动新的工作区无法正常工作。相反,默认分支总是在云环境(CDE)启动后克隆。这个版本解决了这个缺陷。
其他资源
3.8. Microsoft Azure 的分支检测无法在用户仪表板中工作 复制链接链接已复制到粘贴板!
在此版本之前,Microsoft Azure 存储库的分支检测无法在用户仪表板中工作。这个版本解决了这个缺陷。
其他资源
在此版本之前,从没有配置个人访问令牌(PAT)或 OAuth 的 GitHub Enterprise 公共存储库创建一个工作区会导致以下错误: "Failed to create the workspace.无法使用任何提供的参数构建工厂。请检查参数是否正确,并重新发送查询"。这个版本解决了这个缺陷。
其他资源
3.10. 如果应用了刷新令牌模式,工作区启动页面会变为 cyclic reload 复制链接链接已复制到粘贴板!
在以前的版本中,使用实验性 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN 功能可能会导致云开发环境(CDE)启动过程中 cyclic 重新加载序列。这个版本解决了这个缺陷。
在 官方文档 中了解更多有关 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN 功能的信息。
其他资源
3.11. 粘贴仪表板中的密钥字符串添加的 SSH 密钥无效 复制链接链接已复制到粘贴板!
在此发行版本中,通过手动粘贴仪表板中的密钥字符串来添加 SSH 密钥存在问题。保存 SSH 密钥并启动工作区后,不会使用以下错误消息克隆项目:"Could not read from remote repository.请确保您具有正确的访问权限,并且存在存储库"。在这个发行版本中,这个问题已被解决。
其他资源
第 4 章 技术预览 复制链接链接已复制到粘贴板!
技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。但是,Red Hat 订阅级别协议并不包括对这些技术预览功能的完全支持。这些功能可能并不完善,且不适用于生产环境。由于红帽会考虑在将来的产品中使用这些技术预览功能,我们将尝试解决客户在使用这些功能时遇到的问题。请参阅: 技术预览支持范围。
无。
第 5 章 弃用的功能 复制链接链接已复制到粘贴板!
无。
第 6 章 删除的功能 复制链接链接已复制到粘贴板!
6.1. 删除了 che-devfile-registry 复制链接链接已复制到粘贴板!
在这个发行版本中,删除了特定于 Dev Spaces 的 devfile-registry 操作对象。要配置自定义 Getting-Started 示例,管理员应利用专用的 Kubernetes ConfigMap。
在 官方文档 中找到更多详细信息。
其他资源
第 7 章 已知问题 复制链接链接已复制到粘贴板!
一个已知问题会影响使用 Microsoft Azure DevOps/Bitbucket/GitHub git 供应商与 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN 属性的连接的工作区。每次启动工作区时,新的个人访问令牌(PAT)都会添加到之前的 PAT 中,它们 不会被删除。当现有 PAT 的数量超过 5 时,您无法运行工作区,且仪表板不可用。
其他资源
使用 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN 属性中存在一个已知问题。在使用属性后,以前的 Microsoft Azure DevOps/Bitbucket/GitHub 个人令牌不会被删除。这也可能会导致 访问仪表板 的问题。
其他资源
目前,应用 Refused OAuth 授权时存在一个已知问题。当您使用 OAuth 设置启动工厂时,如果并应用 Refused OAuth 授权,则会再次出现 "Untrusted Repository" 弹出窗口。
其他资源
7.4. 刷新令牌模式会导致 cyclic 重新加载工作区启动页面 复制链接链接已复制到粘贴板!
当使用 GitHub 和 Microsoft Azure DevOps OAuth 提供程序的 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN 属性应用实验性刷新令牌模式时,存在一个已知问题。这会导致工作区开始重新载入仪表板,在每个页面重启时创建一个新的个人访问令牌。刷新令牌模式可用于 'GitLab' 和 'BitBucket' OAuth 供应商。
其他资源
7.5. FIPS 合规性更新 复制链接链接已复制到粘贴板!
FIPS 合规的一个已知问题会导致某些加密模块没有被 FIPS 验证。以下是在 OpenShift Dev Spaces 中使用 FIPS 的要求和限制列表:
所需的集群和 Operator 更新
根据情况,将 Red Hat OpenShift Container Platform 安装更新至 4.14、4.15、4.16 或 4.17 的最新 z-stream 更新。如果您还没有启用 FIPS,则需要卸载和重新安装。
集群启动并运行后,安装 OpenShift Dev Spaces 3.18 (3.18-36),并验证最新的 DevWorkspace operator bundle 0.32 (0.32-2)或更新版本是否已安装和更新。请参阅 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 合规性。
Helm 支持 FIPS
UDI 和 Code 容器包含 helm 二进制文件,它没有使用 FIPS 支持编译。如果您在 FIPS 环境中没有使用 helm。
Kubedock 支持 FIPS
UDI 容器包含 kubedock 二进制文件,它没有使用 FIPS 支持编译。如果您在 FIPS 环境中不使用 kubedock。
其他资源
7.6. 调试器无法在 .NET 示例中工作 复制链接链接已复制到粘贴板!
目前,Microsoft Visual Studio Code 中的 debugger - 开源无法在 .NET 示例中工作。
临时解决方案
使用与以下源不同的镜像:
其他资源
第 8 章 常见问题解答 复制链接链接已复制到粘贴板!
- 是否可以将应用程序从 OpenShift Dev Spaces 部署到 OpenShift 集群?
- OpenShift 用户令牌 自动注入到 工作区容器中,从而能够针对 OpenShift 集群运行 oc CLI 命令。
- 为获得最佳性能,建议使用什么存储用于 OpenShift Dev Spaces 的持久性卷?
- 使用块存储。
- 是否有可能在同一集群中部署多个 OpenShift Dev Spaces 实例?
- 每个集群只能部署一个 OpenShift Dev Spaces 实例。
- 是否可以 离线安装 OpenShift Dev Spaces(不与互联网连接)?
- 请参阅在 OpenShift 的受限环境中安装 Red Hat OpenShift Dev Spaces。
- 是否可以在 OpenShift Dev Spaces 中使用非默认证书?
- 您可以使用自签名或公共证书。请参阅 导入不受信任的 TLS 证书。
- 是否可以同时运行多个工作区?
- 请参阅启用用户同时运行多个工作区。