3.18.0 发行注记和已知问题
3.18.0 发行注记和 Red Hat OpenShift Dev Spaces 3.18 的已知问题
摘要
使开源包含更多
红帽致力于替换我们的代码、文档和 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.18 基于 Eclipse Che 7.95。
1.1. 支持的平台
OpenShift Dev Spaces 在以下 CPU 架构的 OpenShift 4.14-4.17 上运行:
-
AMD64 和 Intel 64 (
x
86_64) -
IBM Z (
s390x
) -
IBM Power (
ppc64le
)
1.2. 支持政策
对于 Red Hat OpenShift Dev Spaces 3.18,红帽将为部署、配置和使用产品提供支持。
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. 为 CDE 利用 Openshift 集群范围的自定义 CA 捆绑包配置
与外部服务的通信通过 TLS 加密,需要由受信任的证书颁发机构(CA)签名的证书。因此,外部服务使用的所有不受信任的 CA 链都应导入到 Dev Spaces。
从这个版本开始,从安装命名空间中标记的 ConfigMap 用作 TLS 证书的源。ConfigMap 可以有任意数量的键,每个键都有任意数量的证书。操作器将所有 ConfigMap 合并到标题为 ca-certs-merged
的单个 ConfigMap 中,并在操作对象和 Cloud Development Environment (CDE) pod 中作为卷挂载。
默认情况下,Operator 将 ca-certs-merged
ConfigMap 挂载到用户的 CDE 中,位于两个位置: /public-certs
和 /etc/pki/ca-trust/extracted/pem
。/etc/pki/ca-trust/extracted/pem
目录是系统在红帽(如 CentOS、Fedora)上为可信证书颁发机构提取的 CA 证书的位置。当用户的 CDE 启动并运行时,CLI 工具会自动使用来自系统可信位置的证书。
在 官方文档 中了解更多有关流程的信息。
其他资源
2.2. 允许同时配置两个 GitLab OAuth 供应商
从这个版本开始,您可以在单个 Dev Spaces 实例中配置两个 Gitlab OAuth 供应商。当开发人员处理托管在 GitLab SaaS 和内部的代码库时,这特别有用。
在 官方文档 中了解更多有关流程的信息。
其他资源
2.3. 无论集群中的身份验证方法设置是什么,可以从 User Dashboard 创建 .gitconfig
文件
在这个版本中,无论集群中的身份验证方法设置是什么,可以从 User Dashboard 创建或导入 .gitconfig
文件。
在此版本之前,如果您通过 LDAP 或本地身份验证登录,则无法创建或导入 .gitconfig
文件。反之,您必须在命名空间中为 .gitconfig
文件手动创建专用配置映射。
其他资源
2.4. 有关在 OpenShift 上部署 Dev Spaces 的最小权限集的文档
此 官方文档 定义了从这个版本开始,使用 CLI 或 Web 控制台 UI 在 OpenShift 集群上安装 Dev Spaces 的最小权限。
其他资源
2.5. 用于可发现端点的端点的特定于端点的服务
当在 devfile 容器组件 端点 上设置 discoverable: true
属性时,会创建一个专用服务并用于端点。对于没有设置 discoverable: true
属性的所有其他端点,将使用通用工作区服务。
为端点创建的专用服务将具有静态名称,对应于端点的名称。例如,名为 http-python
的服务将在以下示例端点中生成:
# Example endpoint with discoverable attribute - exposure: public targetPort: 8080 name: http-python protocol: http secure: true attributes: discoverable: true
# Example endpoint with discoverable attribute
- exposure: public
targetPort: 8080
name: http-python
protocol: http
secure: true
attributes:
discoverable: true
其他资源
2.6. 允许使用 OpenShift 模板配置用户命名空间
在这个版本中,您可以利用 OpenShift Template
对象,并在所有用户的命名空间中复制其中定义的资源,例如:
*LimitRange
*ResourceQuota
*NetworkPolicy
*Role
*RoleBinding
在 官方文档 中了解更多有关流程的信息。
其他资源
2.7. 当自动扩展在工作空间启动期间启动通知
从这个版本开始,如果集群自动扩展在 Cloud Developer Environment (CDE)启动过程中置备新的 worker 节点,则会出现专用警告信息的通知。
其他资源
2.8. 启动 Visual Studio Code - 安装了所选默认扩展的开源("Code - OSS")
在这个版本中,您可以使用 devfile postStart
事件和 automount ConfigMap 组合安装默认的 Visual Studio Code - Open Source ("Code - OSS")扩展:
- id: add-default-extensions exec: # put your tooling container name here component: runtime commandLine: | # download regular binary curl open-vsx.org/api/atlassian/atlascode/3.0.10/file/atlassian.atlascode-3.0.10.vsix --location -o /tmp/atlassian.atlascode-3.0.10.vsix curl open-vsx.org/api/snowflake/snowflake-vsc/1.9.1/file/snowflake.snowflake-vsc-1.9.1.vsix --location -o /tmp/snowflake.snowflake-vsc-1.9.1.vsix events: postStart: - add-default-extensions
- id: add-default-extensions
exec:
# put your tooling container name here
component: runtime
commandLine: |
# download regular binary
curl open-vsx.org/api/atlassian/atlascode/3.0.10/file/atlassian.atlascode-3.0.10.vsix --location -o /tmp/atlassian.atlascode-3.0.10.vsix
curl open-vsx.org/api/snowflake/snowflake-vsc/1.9.1/file/snowflake.snowflake-vsc-1.9.1.vsix --location -o /tmp/snowflake.snowflake-vsc-1.9.1.vsix
events:
postStart:
- add-default-extensions
其他资源
2.9. Dev Spaces 的安全最佳实践
在这个版本中,Dev Spaces 的安全最佳实践信息包括在 官方文档 中。
其他资源
2.10. 当 tracker 无法 ping machine-exec 时发出警告
当活动跟踪器扩展无法 ping idler 服务时,不会显示面向用户的错误消息。这可能会导致您的云环境(CDE)因为空闲程序被终止,即使您主动使用 CDE 时也是如此。在这个版本中,当无法访问空闲服务时,错误通知会发出警告。
其他资源
2.11. 为所有工作区启用 fuse-overlayfs
在这个版本中,所有工作区文档的 Enabling fuse-overlayfs 已被更新,使其包含对 Podman 5.x 的支持。
其他资源
第 3 章 程序错误修复
3.1. 临时存储交换机无法正常工作
在以前的版本中,"Temporary Storage"交换机在用户仪表板上无法正常工作。这个版本解决了这个缺陷。
其他资源
3.2. 在点击 'Trust the repository author' 弹出窗口中的 Continue 后,工作区创建会停止
在以前的版本中,如果 admin 为 Cloud Development Environments (CDEs)配置允许 URL,则在点击用户点击"信任存储库作者"弹出窗口中的"继续"按钮后,工作区创建会被停止。这个版本解决了这个缺陷。
其他资源
3.3. 在拒绝 OAuth 授权后,工作区不会运行
在以前的版本中,如果您拒绝 OAuth 授权,Cloud Development Environment (CDE)将不会启动。这个版本解决了这个缺陷。
其他资源
3.4. 工作空间启动期间 20 秒后的意外错误消息"No IDE URL"
在此发行版本中,在 Cloud Development Environment (CDE)启动过程中可能会出现错误消息:"No IDE URL after 20 sec startup'。这个版本解决了这个缺陷。
其他资源
3.5. "workspace Details"下拉菜单项缺失
"Workspace Details"下拉菜单项返回至导航栏。
其他资源
3.6. 使用 Gitlab 存储库中的 .devfile.yaml
文件启动工作区失败
在此版本之前,无法从内部托管的 Gitlab 存储库中的 .devfile.yaml
创建云环境(CDE)。在这个版本中,这个问题已被解决。
其他资源
第 4 章 技术预览
技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。但是,Red Hat 订阅级别协议并不包括对这些技术预览功能的完全支持。这些功能可能并不完善,且不适用于生产环境。由于红帽会考虑在将来的产品中使用这些技术预览功能,我们将尝试解决客户在使用这些功能时遇到的问题。请参阅: 技术预览支持范围。
无。
第 5 章 弃用的功能
无。
第 6 章 删除的功能
无。
第 7 章 已知问题
7.1. 在没有 libbrotli
库的情况下使用 ubi9-based image 的工作区,因为工具容器无法启动
存在一个已知问题:一个已知问题,它会影响使用基于 ubi-9- 的工作区,而无需 libbrotli
库作为工具容器。如果您启动工作区,则会出现以下出错信息:"Failed to open the workspace: The workspace status remains the "Starting" (最后 300 秒)。
错误消息中列出的时间可能会有所不同。
临时解决方案
-
使用带有
libbrotli
库的另一个 ubi9- 镜像,如 quay.io/devfile/universal-developer-image:ubi9-latest。 -
重建基于 ubi9- 的镜像,使其包含
libbrotli
库。
其他资源
7.2. 过时的 Visual Studio Code - 开源("CODE - OSS")出现在之前的 Dev Spaces 版本中创建的工作区中
在将 Dev Spaces 从版本 3.17.0 升级到 3.18.0 后,存在一个已知问题会影响 Visual Studio Code - Open Source ("CODE - OSS")。如果您在 Dev Spaces 3.17.0 中的示例中打开了之前创建的工作区,则 Visual Studio Code 的旧版本(1.93.0)会显示它而不是新版本(1.96.0)。
当前没有可用的临时解决方案。
其他资源
7.3. 从指向没有 devfile 的仓库分支的 URL 启动新工作区的问题
存在一个已知问题:在没有 devfile.yaml
文件的情况下影响存储库。如果您从此类存储库的分支启动新的工作区,则默认分支(如 'main')将用于项目克隆,而不是预期的分支。
其他资源
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 证书。
- 是否可以同时运行多个工作区?
- 请参阅启用用户同时运行多个工作区。