发行注记和已知问题
Red Hat OpenShift Dev Spaces 3.12 发行注记和已知问题
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 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.12 基于 Eclipse Che 7.80。
1.1. 支持的平台 复制链接链接已复制到粘贴板!
OpenShift Dev Spaces 在以下 CPU 架构上的 OpenShift 4.12-4.15 上运行:
-
AMD64 和 Intel 64 (
x86_64) -
IBM Power (
ppc64le) 和 IBM Z (s390x)
1.2. 支持政策 复制链接链接已复制到粘贴板!
对于 Red Hat OpenShift Dev Spaces 3.12,红帽将为部署、配置和使用产品提供支持。
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 章 新功能及功能增强 复制链接链接已复制到粘贴板!
在这个版本中,管理员可以配置要在所有用户命名空间中复制的 Secret、ConfigMap 和 PersistentVolumesClaims。因此,您可以在所有用户间共享证书、secret 和配置文件。
例如,创建以下 ConfigMap 使 Mavensettings.xml 文件在所有用户的 Container Development Environment (CDE)中提供:
kind: ConfigMap
apiVersion: v1
metadata:
name: user-settings-xml
namespace: {prod-namespace}
labels:
app.kubernetes.io/part-of: che.eclipse.org
app.kubernetes.io/component: workspaces-config
annotations:
controller.devfile.io/mount-as: subpath
controller.devfile.io/mount-path: /home/user/.m2
data:
settings.xml: |
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/home/user/.m2/repository</localRepository>
<interactiveMode>true</interactiveMode>
<offline>false</offline>
</settings>
在 官方文档 中查找有关流程的更多信息。
其他资源
在这个版本中,您可以将 pod 和容器覆盖用于 Devfile 定义中的卷和 volumeMounts。
例如,您可以将带有 SharedSecret 的 CSI 卷添加到容器开发环境(CDE)中的 pod 或容器中:
schemaVersion: 2.2.2
attributes:
controller.devfile.io/storage-type: per-workspace
metadata:
name: pod-overrides-example
attributes:
pod-overrides:
spec:
volumes:
- csi:
driver: csi.sharedresource.openshift.io
readOnly: true
volumeAttributes:
sharedSecret: my-share
name: my-csi-volume
components:
- name: workspace
attributes:
container-overrides:
volumeMounts:
- mountPath: /etc/my-csi-volume
name: my-csi-volume
readOnly: true
container:
...
其他资源
2.3. 如果没有配置 SSH 密钥,防止基于 SSH URL 启动工作区 复制链接链接已复制到粘贴板!
在这个版本中,在用户仪表板中配置 SSH 密钥前,您无法根据 SSH URL 启动工作区:
https://github.com/eclipse/che/assets/1461122/6b0f1eba-8184-49fc-8411-9810d762d62b
其他资源
在以前的版本中,Che-Code 编辑器无法在 Red Hat Universal Base Image 9 中启动。在这个版本中,这个问题已被解决,您现在可以在 devfile 的 components 部分中明确引用这些镜像:
schemaVersion: 2.2.2
metadata:
name: ubi9-minimal-demo
components:
- name: tools
container:
image: registry.access.redhat.com/ubi9-minimal:9.3-1552@sha256:582e18f13291d7c686ec4e6e92d20b24c62ae0fc72767c46f30a69b1a6198055
args: ['tail', '-f', '/dev/null']
endpoints:
- exposure: public
name: nodejs
protocol: http
targetPort: 3000
memoryLimit: 2Gi
memoryRequest: 256Mi
mountSources: true
attributes:
controller.devfile.io/merge-contribution: true
其他资源
2.5. 使用 HorizontalPodAutoscaler (HPA)为操作对象部署配置副本数 复制链接链接已复制到粘贴板!
从这个版本开始,您可以使用 HorizontalPodAutoscaler (HPA)为操作对象配置副本数:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: scaler
namespace: {operator-namespace}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: __<deployment_name>__
...
上面的代码片段中的 < ;deployment_name > 对应于以下部署之一:* che-server * che-gateway * dashboard * plugin-registry * devfile-registry
在 官方文档 中找到有关 HPA 设置的更多详细信息。
其他资源
2.6. 在云开发环境中为 Podman 启用 fuse-overlayfs 复制链接链接已复制到粘贴板!
默认情况下,通用基础镜像(UDI)包含 Podman 和 Buildah,可用于在云开发环境(CDE)中构建和推送容器镜像。但是,UDI 中的 Podman 和 Buildah 配置为使用不提供写时复制支持的 vfs 存储驱动程序。要更有效地镜像管理,您可以使用 fuse-overlayfs 存储驱动程序,该驱动程序支持无根环境中的 copy-on-write。
在 官方文档 中找到有关 fuse-overlayfs 配置的更多详细信息。
其他资源
2.7. 允许通过 URL 参数覆盖编辑器的镜像 复制链接链接已复制到粘贴板!
在这个版本中,您可以在启动云开发环境时使用专用 URL 参数覆盖编辑器的镜像。以下是一些示例:
-
editor-image=registry.redhat.io/devspaces/code-rhel8 -
che-editor=che-incubator/che-code/latest&editor-image=registry.redhat.io/devspaces/code-rhel8
在 官方文档 中找到有关 editor-image URL 参数的更多详细信息。
其他资源
第 3 章 程序错误修复 复制链接链接已复制到粘贴板!
在此版本之前,使用 'https://xx.xx.xx/bitbucket/scm/xxx/xxxx.git' URL 创建工作区会导致出现以下出错信息:"Cannot build factory with any provided parameter.请检查参数正确和重新发送查询"。在这个版本中,工作区会被正确创建。
其他资源
3.2. 在 Gitconfig 名称和电子邮件更新过程中"检测到的"错误 复制链接链接已复制到粘贴板!
在此发行版本中,更新 Gitconfig 中的名称和电子邮件可能会导致 Conflict detected 错误。本发行版本中修复了 UX 缺陷,您可以在没有错误的情况下更新名称和电子邮件。
其他资源
3.3. "路由和路径匹配,但所有 pod 在工作空间启动期间都停机"错误 复制链接链接已复制到粘贴板!
sporadic 缺陷会导致 "Route 和 path 匹配,但在此发行版本中解决了在工作区启动期间所有 pod 停机错误。
其他资源
3.4. Operator 会卡住更新端点 URL,其主机名太长 复制链接链接已复制到粘贴板!
在此版本之前,存在与主机名太长端点 URL 更新相关的缺陷。这会导致 Operator 处于循环中。在这个版本中,这个问题已被解决。
其他资源
3.5. 当工作空间启动失败时,因为超过路由配额,错误是不可见的 复制链接链接已复制到粘贴板!
在此次更新之前,当因为配额问题导致工作区无法启动时,不会显示有意义的错误,启动会失败并显示超时。现在,因为超过配额,当工作空间启动被禁止时,会出现一个显式错误:
为工作区设置网络失败:service "workspace82736d3c797e4150-service" is forbidden: exceeded quota: resource-quota-services, requested: count/services=1, used: count/services=1, limited: count/services=1
其他资源
3.6. 文档包含"配置工作区 nodeSelector"的过期说明 复制链接链接已复制到粘贴板!
本发行版本中修复了 nodeSelector 和 tolerations 配置的过期流程,在 官方文档 中提供了更新的说明。
其他资源
3.7. 由于 replicaset 缩减而意外的工作区重启 复制链接链接已复制到粘贴板!
此发行版本中解决了因为缩减 replicaset 而导致意外的工作区重启的问题。
其他资源
3.8. 无法为用户撤销授权 - 未找到用户的 OAuth 令牌 复制链接链接已复制到粘贴板!
本发行版本中修复了与撤销 GitHub 授权相关的程序错误。现在,所有 OAuth 令牌都明确从 Kubernetes secret 检索,而不是像之前用于从内存中检索。
其他资源
3.9. 从 Bitbucket 服务器上托管的存储库启动工作区的 devfile 错误 复制链接链接已复制到粘贴板!
在此次更新之前,在 Bitbucket 服务器上托管的私有存储库启动工作区会失败,并添加了个人访问令牌(PAT)失败,并显示以下错误: Failed 创建工作区:Cannot build factory with any provided parameters。请检查参数正确性和重新发送查询。在这个版本中,这个问题已被解决。
其他资源
在以前的版本中,一些 BitBucket 服务器等 SCM 供应商会解码响应中的回调 URL,这会导致 IllegalArgumentException 错误。在这个版本中,这个问题已被解决。
其他资源
第 4 章 技术预览 复制链接链接已复制到粘贴板!
技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。但是,Red Hat 订阅级别协议并不包括对这些技术预览功能的完全支持。这些功能可能并不完善,且不适用于生产环境。由于红帽会考虑在将来的产品中使用这些技术预览功能,我们将尝试解决客户在使用这些功能时遇到的问题。请参阅: 技术预览支持范围。
无。
第 5 章 弃用的功能 复制链接链接已复制到粘贴板!
无。
第 6 章 删除的功能 复制链接链接已复制到粘贴板!
无。
第 7 章 已知问题 复制链接链接已复制到粘贴板!
7.1. Ansible Lightspeed 未连接到 Ansible 服务器 复制链接链接已复制到粘贴板!
Ansible Lightspeed 和连接到 Ansible 服务器时存在一个已知问题。如果 OpenShift Dev Spaces 环境没有处于 Ifopenshiftapps.com 域下,Ansible Lightspeed 无法连接到 Ansible 服务器。
没有可用的临时解决方案。
其他资源
7.2. 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 合规性。
对 FIPS 的 Helm 支持
UDI 和 Code 容器包含 helm 二进制文件,它没有使用 FIPS 支持编译。如果您在 FIPS 环境中,请不要使用 helm。
Kubedock 支持 FIPS
UDI 容器包含 kubedock 二进制文件,它没有使用 FIPS 支持编译。如果您在 FIPS 环境中不使用 kubedock。
其他资源
7.3. 调试器无法在 .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 证书。
- 是否可以同时运行多个工作区?
- 请参阅启用用户同时运行多个工作区。