1.4. 使用多集群引擎 operator 的集群生命周期发行注记


了解新功能、增强功能、支持、弃用、删除和勘误程序错误修复。

重要: OpenShift Container Platform 发行注记没有包括在此文档中。对于 OpenShift Container Platform 集群,请参阅 OpenShift Container Platform 发行注记。git Deprecated: multicluster engine operator 2.3 及更早的版本不再被支持。文档可能仍然可用,但没有任何勘误或其他更新。

最佳实践: 升级到最新版本。

  • 除非仅在最新版本的 OpenShift Container Platform 上引入并测试特定组件或功能,否则文档会参考最早支持的 OpenShift Container Platform 版本。
  • 有关完全支持信息,请参阅 multicluster engine operator 支持列表。如需生命周期信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策
  • 如果您在当前支持的某个版本或产品文档时遇到问题,请访问 红帽支持,您可以在其中进行故障排除、查看知识库文章、与支持团队连接,或创建一个问题单。您必须使用您的凭证登录。
  • 您还可以访问红帽客户门户文档,Red Hat Customer Portal FAQ

1.4.1. 使用多集群引擎 operator 的集群生命周期新功能

了解在不同基础架构云供应商、私有云和内部数据中心的创建、导入、管理和销毁 Kubernetes 集群的新功能。

有关完全支持信息,请参阅 multicluster engine operator 支持列表。如需生命周期信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策

重要: 集群管理现在支持所有通过云原生计算基础(CNCF) Kubernetes 一致性计划认证的供应商。为您的混合云多集群管理选择 CNFC 可识别的供应商。

请参阅以下有关使用 CNFC 供应商的信息:

1.4.1.1. 组件的新功能和增强

了解有关特定组件的新功能的更多信息。

注意: 一些功能和组件 作为技术预览 发布。

重要: 托管 control plane 文档现在包括在 OpenShift Container Platform 文档中。请参阅 OpenShift Container Platform 文档中的 托管 control plane 概述

如果您使用 multicluster engine operator 2.6 及更早版本,则托管的 control plane 文档位于 Red Hat Advanced Cluster Management 产品文档中。请参阅 Red Hat Advanced Cluster Management Hosted control plane

1.4.1.2. 集群管理

了解 multicluster engine operator 的集群生命周期的新功能和增强。

1.4.2. 使用多集群引擎 Operator 的集群生命周期的勘误更新

对于多集群引擎 operator,勘误更新会在发布时自动应用。

如果没有列出发行注记,则该产品目前没有勘误版本。

重要: 为了便于参考,JIRA 链接和 JIRA 号可能会添加到内容中并在内部使用。用户可能不能使用访问的链接。

1.4.2.1. Errata 2.7.3

  • 为一个或多个产品容器镜像提供更新。

1.4.2.2. Errata 2.7.2

  • 为一个或多个产品容器镜像提供更新。
  • 修复带有 Clear all filters 按钮的错误。(ACM-15277)
  • 停止 Detach clusters 操作不会删除托管集群。(ACM-15018)
  • 在将有效的 OpenShift Cluster Manager 凭证更新为无效后,防止受管集群显示在控制台的 Discovery 选项卡中。(ACM-15010)
  • 保留 cluster-proxy-addon 处于 Progressing 状态。(ACM-14863)

1.4.2.3. Errata 2.7.1

  • 为一个或多个产品容器镜像提供更新。

1.4.3. 使用多集群引擎 Operator 的集群生命周期的已知问题和限制

查看 multicluster engine operator 的集群生命周期 的已知问题和限制,或从上一版本中继续存在的已知问题。

集群管理已知问题和限制是 multicluster engine operator 文档的集群生命周期 的一部分。 Red Hat Advanced Cluster Management 集成的 {mce-short 的已知问题记录在 Red Hat Advanced Cluster Management 发行注记中

重要: OpenShift Container Platform 发行注记没有包括在此文档中。对于 OpenShift Container Platform 集群,请参阅 OpenShift Container Platform 发行注记

1.4.3.1. 安装

了解在 multicluster engine operator 安装过程中已知的问题和限制。

1.4.3.1.1. 在带有托管 control plane 集群的 OpenShift Service on AWS 上安装时,状态会卡住

当在带有托管 control plane 集群的 OpenShift Service 上安装 multicluster engine operator 时,安装状态可能会处于 Installing 状态。local-cluster 可能也处于 Unknown 状态。

当您检查 hub 集群上的 open-cluster-management-agent 命名空间中的 klusterlet-agent pod 日志时,您会看到类似如下的错误:

E0809 18:45:29.450874       1 reflector.go:147] k8s.io/client-go@v0.29.4/tools/cache/reflector.go:229: Failed to watch *v1.CertificateSigningRequest: failed to list *v1.CertificateSigningRequest: Get "https://api.xxx.openshiftapps.com:443/apis/certificates.k8s.io/v1/certificatesigningrequests?limit=500&resourceVersion=0": tls: failed to verify certificate: x509: certificate signed by unknown authority

要解决这个问题,请配置 hub 集群 API 服务器验证策略。完成以下步骤:

  1. 如果 KlusterletConfig 资源不存在,则创建一个名为 global 的 KlusterletConfig 资源。
  2. spec.hubKubeAPIServerConfig.serverVerificationStrategy 设置为 UseSystemTruststore。请参见以下示例:

    apiVersion: config.open-cluster-management.io/v1alpha1
    kind: KlusterletConfig
    metadata:
      name: global
    spec:
      hubKubeAPIServerConfig:
        serverVerificationStrategy: UseSystemTruststore
  3. 通过在 hub 集群中运行以下命令来应用资源。将 <filename > 替换为您的文件的名称:

    oc apply -f <filename>
  4. 如果 local-cluster 状态在一分钟内没有恢复,请在 hub 集群中运行以下命令来导出并解码 import.yaml 文件:

    oc get secret local-cluster-import -n local-cluster -o jsonpath={.data.import\.yaml} | base64 --decode > import.yaml
  5. 在 hub 集群中运行以下命令来应用该文件:

    oc apply -f import.yaml
1.4.3.1.2. installNamespace 字段只能有一个值

启用 managed-serviceaccount 附加组件时,ManagedClusterAddOn 资源中的 installNamespace 字段必须有 open-cluster-management-agent-addon 值。其他值将被忽略。managed-serviceaccount 附加组件代理总是在受管集群上的 open-cluster-management-agent-addon 命名空间中部署。

1.4.3.2. Cluster

了解 multicluster engine operator 的集群生命周期的已知问题和限制,如创建、发现、导入和删除集群的问题,以及 multicluster engine operator 的更多集群管理问题。

1.4.3.2.1. nmstate的限制

通过配置复制和粘贴功能来加快开发速度。要在 assisted-installer 中配置 copy-from-mac 功能,您必须将 mac-address 添加到 nmstate 定义接口和 mac-mapping 接口。mac-mapping 接口在 nmstate 定义接口之外提供。因此,您必须提供相同的 mac-address 两次。

如果您安装了不同版本的 VolSync,请将 v0.6.0 替换为您的安装版本。

1.4.3.2.2. 删除受管集群集不会自动删除其标签

删除 ManagedClusterSet 后,添加到每个受管集群的标签不会被自动删除。从已删除受管集群集中包含的每个受管集群手动删除该标签。该标签类似以下示例:cluster.open-cluster-management.io/clusterset:<ManagedClusterSet Name>

1.4.3.2.3. ClusterClaim 错误

如果您针对 ClusterPool 创建 Hive ClusterClaim 并手动将 ClusterClaimspec 生命周期字段设置为无效的 golang 时间值,则产品将停止实现并协调所有 ClusterClaims,而不仅仅是不正确的声明。

您在 clusterclaim-controller pod 日志中看到以下错误,这是带有 PoolName 和无效生命周期的 特定示例

E0203 07:10:38.266841       1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:224: Failed to watch *v1.ClusterClaim: failed to list *v1.ClusterClaim: v1.ClusterClaimList.Items: []v1.ClusterClaim: v1.ClusterClaim.v1.ClusterClaim.Spec: v1.ClusterClaimSpec.Lifetime: unmarshalerDecoder: time: unknown unit "w" in duration "1w", error found in #10 byte of ...|time":"1w"}},{"apiVe|..., bigger context ...|clusterPoolName":"policy-aas-hubs","lifetime":"1w"}},{"apiVersion":"hive.openshift.io/v1","kind":"Cl|...

您可以删除无效的声明。

如果删除了不正确的声明,则声明可以在不需要进一步交互的情况下再次成功进行协调。

1.4.3.2.4. 产品频道与置备的集群不同步

clusterimageset 处于 fast 频道,但置备的集群处于 stable 频道。目前,产品不会将 频道 同步到置备的 OpenShift Container Platform 集群。

进入 OpenShift Container Platform 控制台中的正确频道。点 Administration > Cluster Settings > Details Channel

1.4.3.2.5. 在创建内部集群时需要选择子网

使用控制台创建内部集群时,您必须为集群选择一个可用的子网。它没有标记为必填字段。

1.4.3.2.6. 在代理环境中使用 Ansible 自动化进行集群置备失败

当满足以下条件时,配置为自动置备受管集群的 Automation 模板可能会失败:

  • hub 集群启用了集群范围代理。
  • Ansible Automation Platform 只能通过代理访问。
1.4.3.2.7. 无法手动删除受管集群命名空间

您无法手动删除受管集群的命名空间。受管集群命名空间会在受管集群分离后自动删除。如果在分离受管集群前手动删除受管集群命名空间,受管集群会在删除受管集群后显示持续终止状态。要删除此正在终止的受管集群,请从分离的受管集群中手动删除终结器。

1.4.3.2.8. 不支持为置备的集群进行自动 secret 更新

当您在云供应商一端更改云供应商访问密钥时,您还需要在 multicluster engine operator 的控制台中更新此云供应商的对应凭证。当凭证在托管受管集群的云供应商过期并尝试删除受管集群时,需要此项。

1.4.3.2.9. 销毁集群的进程没有完成

当销毁受管集群时,在一小时后仍然继续显示 Destroying 状态,且集群不会被销毁。要解决这个问题请完成以下步骤:

  1. 手动确保云中没有孤立的资源,,且清理与受管集群关联的所有供应商资源。
  2. 输入以下命令为正在删除的受管集群打开 ClusterDeployment

    oc edit clusterdeployment/<mycluster> -n <namespace>

    mycluster 替换为您要销毁的受管集群的名称。

    使用受管集群的命名空间替换 namespace

  3. 删除 hive.openshift.io/deprovision finalizer,以强制停止尝试清理云中的集群资源的进程。
  4. 保存您的更改,验证 ClusterDeployment 是否已不存在。
  5. 运行以下命令手动删除受管集群的命名空间:

    oc delete ns <namespace>

    使用受管集群的命名空间替换 namespace

1.4.3.2.10. 无法使用控制台在 OpenShift Container Platform Dedicated 上升级 OpenShift Container Platform 受管集群

您不能使用 Red Hat Advanced Cluster Management 控制台升级 OpenShift Container Platform Dedicated 环境中的 OpenShift Container Platform 受管集群。

1.4.3.2.12. 非 OpenShift Container Platform 受管集群需要 ManagedServiceAccountLoadBalancer 用于 pod 日志

在 Red Hat Advanced Cluster Management 版本 2.10 及更新的版本中默认启用 ManagedServiceAccount 和集群代理附加组件。如果升级后禁用了附加组件,您必须手动启用 ManagedServiceAccount 和集群代理附加组件,以便在非 OpenShift Container Platform 受管集群上使用 pod 日志功能。

请参阅 ManagedServiceAccount 附加组件 以了解如何启用 ManagedServiceAccount 和使用集群代理附加组件 以了解如何启用集群代理附加组件。

1.4.3.2.13. OpenShift Container Platform 4.10.z 不支持使用代理配置托管的 control plane 集群

当您在 OpenShift Container Platform 4.10.z 上使用集群范围代理配置创建托管服务集群时,nodeip-configuration.service 服务不会在 worker 节点上启动。

1.4.3.2.14. 客户端无法访问 iPXE 脚本

iPXE 是开源网络引导固件。如需了解更多详细信息,请参阅 iPXE

引导节点时,一些 DHCP 服务器中的 URL 长度限制会关闭 InfraEnv 自定义资源定义中的 ipxeScript URL,从而导致在控制台中的以下错误消息:

no bootable devices

要临时解决这个问题,请完成以下步骤:

  1. 在使用辅助安装时应用 InfraEnv 自定义资源定义以公开 bootArtifacts,它可能类似以下文件:

    status:
      agentLabelSelector:
        matchLabels:
          infraenvs.agent-install.openshift.io: qe2
      bootArtifacts:
        initrd: https://assisted-image-service-multicluster-engine.redhat.com/images/0000/pxe-initrd?api_key=0000000&arch=x86_64&version=4.11
        ipxeScript: https://assisted-service-multicluster-engine.redhat.com/api/assisted-install/v2/infra-envs/00000/downloads/files?api_key=000000000&file_name=ipxe-script
        kernel: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/latest/rhcos-live-kernel-x86_64
        rootfs: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/latest/rhcos-live-rootfs.x86_64.img
  2. 创建代理服务器以使用短 URL 公开 bootArtifacts
  3. 运行以下命令复制 bootArtifacts 并将其添加到代理中:

    for artifact in oc get infraenv qe2 -ojsonpath="{.status.bootArtifacts}" | jq ". | keys[]" | sed "s/\"//g"
    do curl -k oc get infraenv qe2 -ojsonpath="{.status.bootArtifacts.${artifact}}"` -o $artifact
  4. ipxeScript 工件代理 URL 添加到 libvirt.xml 中的 bootp 参数。
1.4.3.2.15. 升级 Red Hat Advanced Cluster Management 后无法删除 ClusterDeployment

如果您在 Red Hat Advanced Cluster Management 2.6 中使用已删除的 BareMetalAssets API,则在升级到 Red Hat Advanced Cluster Management 2.7 后无法删除 ClusterDeployment,因为 BareMetalAssets API 绑定到 ClusterDeployment

要临时解决这个问题,请在升级到 Red Hat Advanced Cluster Management 2.7 前运行以下命令来删除 finalizers

oc patch clusterdeployment <clusterdeployment-name> -p '{"metadata":{"finalizers":null}}' --type=merge
1.4.3.2.16. 受管集群在部署后处于 Pending 状态

聚合流是置备的默认过程。当您使用 Bare Metal Operator (BMO)将主机连接到 live ISO 时,Ironic Python 代理执行以下操作:

  • 它运行裸机安装程序置备基础架构中的步骤。
  • 它启动 Assisted Installer 代理,代理处理其余的安装和配置过程。

如果 Assisted Installer 代理启动缓慢,且部署受管集群,受管集群可能会处于 Pending 状态,且没有任何代理资源。您可以通过禁用聚合流来解决这个问题。

重要: 当您禁用聚合流时,只有 Assisted Installer 代理在 live ISO 中运行,减少打开的端口数量并禁用您在 Ironic Python 代理代理启用的任何功能,包括:

  • 预置备磁盘清理
  • iPXE 引导固件
  • BIOS 配置

要决定要在不禁用聚合流的情况下启用或禁用哪些端口号,请参阅 网络配置

要禁用聚合流,请完成以下步骤:

  1. 在 hub 集群中创建以下 ConfigMap:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: my-assisted-service-config
      namespace: multicluster-engine
    data:
      ALLOW_CONVERGED_FLOW: "false" 1
    1
    当您将参数值设置为 "false" 时,您也会禁用 Ironic Python Agent 启用的任何功能。
  2. 运行以下命令来应用 ConfigMap:

    oc annotate --overwrite AgentServiceConfig agent unsupported.agent-install.openshift.io/assisted-service-configmap=my-assisted-service-config
1.4.3.2.17. ManagedClusterSet API 规格限制

使用 Clustersets API 时不支持 selectorType: LaberSelector 设置。支持 selectorType: ExclusiveClusterSetLabel 设置。

1.4.3.2.18. Cluster curator 不支持 OpenShift Container Platform Dedicated 集群

当使用 ClusterCurator 资源升级 OpenShift Container Platform Dedicated 集群时,升级会失败,因为 Cluster curator 不支持 OpenShift Container Platform Dedicated 集群。

1.4.3.2.19. 自定义入口域无法正确应用

您可以在安装受管集群时使用 ClusterDeployment 资源指定自定义 ingress 域,但更改仅在使用 SyncSet 资源安装后才会生效。因此,clusterdeployment.yaml 文件中的 spec 字段显示您指定的自定义入口域,但 status 仍然会显示默认域。

1.4.3.2.20. ManagedClusterAddOn 状态会卡住

如果您在 ManagedClusterAddon 中定义配置来覆盖 ClusterManagementAddon 中的一些配置,则 ManagedClusterAddon 可能会处于以下状态:

progressing... mca and work configs mismatch

当您检查 ManagedClusterAddon 状态时,配置的一部分有一个空的 spec 哈希,即使配置存在。请参见以下示例:

status:
  conditions:
  - lastTransitionTime: "2024-09-09T16:08:42Z"
    message: progressing... mca and work configs mismatch
    reason: Progressing
    status: "True"
    type: Progressing
...
  configReferences:
  - desiredConfig:
      name: deploy-config
      namespace: open-cluster-management-hub
      specHash: b81380f1f1a1920388d90859a5d51f5521cecd77752755ba05ece495f551ebd0
    group: addon.open-cluster-management.io
    lastObservedGeneration: 1
    name: deploy-config
    namespace: open-cluster-management-hub
    resource: addondeploymentconfigs
  - desiredConfig:
      name: cluster-proxy
      specHash: ""
    group: proxy.open-cluster-management.io
    lastObservedGeneration: 1
    name: cluster-proxy
    resource: managedproxyconfigurations

要解决这个问题,请运行以下命令来删除 ManagedClusterAddon,以重新安装并恢复 ManagedClusterAddon。将 <cluster-name& gt; 替换为 ManagedClusterAddon 命名空间。将 <addon-name& gt; 替换为 ManagedClusterAddon 名称:

oc -n <cluster-name> delete managedclusteraddon <addon-name>

1.4.3.3. 中央基础架构管理

1.4.3.3.1. 使用 Red Hat OpenShift 的 infrastructure operator 进行集群置备会失败

当使用 infrastructure operator for Red Hat OpenShift 创建 OpenShift Container Platform 集群时,ISO 镜像的文件名可能太长。镜像名称长会导致镜像置备和集群置备失败。要确定这是否是问题,请完成以下步骤:

  1. 运行以下命令,查看您要置备的集群的裸机主机信息:

    oc get bmh -n <cluster_provisioning_namespace>
  2. 运行 describe 命令以查看错误信息:

    oc describe bmh -n <cluster_provisioning_namespace> <bmh_name>
  3. 类似以下示例的错误表示文件名的长度问题:

    Status:
      Error Count:    1
      Error Message:  Image provisioning failed: ... [Errno 36] File name too long ...

如果出现这个问题,这通常位于以下 OpenShift Container Platform 版本中,因为 Red Hat OpenShift 的基础架构 Operator 不使用镜像服务:

  • 4.8.17 及更早版本
  • 4.9.6 及更早版本

为了避免这个错误,将 OpenShift Container Platform 升级到 4.8.18 或更高版本,或 4.9.7 或更高版本。

1.4.3.3.2. 无法使用主机清单来通过发现镜像引导,并自动添加主机

您不能使用主机清单或 InfraEnv 自定义资源来通过发现镜像进行两个引导,并自动添加主机。如果您将之前的 InfraEnv 资源用于 BareMetalHost 资源,并且希望自行引导镜像,您可以通过创建一个新的 InfraEnv 资源来解决此问题。

1.4.3.3.3. 单节点 OpenShift 集群安装需要与 Red Hat OpenShift 的基础架构 operator 匹配的 OpenShift Container Platform

如果要在 4.16 之前使用 Red Hat OpenShift Container Platform 版本安装单节点 OpenShift 集群,您的 InfraEnv 自定义资源和引导的主机必须使用相同的 OpenShift Container Platform 版本来安装单节点 OpenShift 集群。如果版本不匹配,安装会失败。

要临时解决这个问题,请在使用 Discovery ISO 引导主机前编辑 InfraEnv 资源,并包含以下内容:

apiVersion: agent-install.openshift.io/v1beta1
kind: InfraEnv
spec:
  osImageVersion: 4.15

osImageVersion 字段必须与您要安装的 Red Hat OpenShift Container Platform 集群版本匹配。

1.4.3.3.4. tolerationsnodeSelector 设置不会影响 managed-serviceaccount 代理

MultiClusterEngineMultiClusterHub 资源中配置的 tolerationsnodeSelector 设置不会影响本地集群中部署的 managed-serviceaccount 代理。本地集群中并不总是需要 managed-serviceaccount 附加组件。

如果需要 managed-serviceaccount 附加组件,您可以通过完成以下步骤来临时解决这个问题:

  1. 创建 addonDeploymentConfig 自定义资源。
  2. 为本地集群和 managed-serviceaccount 代理设置 tolerationsnodeSelector 值。
  3. 更新本地集群命名空间中的 managed-serviceaccount ManagedClusterAddon,以使用您创建的 addonDeploymentConfig 自定义资源。

请参阅为 klusterlet 附加组件配置 nodeSelectors 和 tolerations,以了解如何使用 addonDeploymentConfig 自定义资源为附加组件配置 tolerations(容限)nodeSelector

1.4.3.3.5. 在删除 BareMetalHost 资源后节点关闭

如果您从 hub 集群中删除 BareMetalHost 资源,节点会关闭。您可以再次手动打开节点电源。

1.4.4. 使用多集群引擎 Operator 弃用和删除集群生命周期

了解产品何时被弃用或从多集群引擎 operator 中删除。考虑推荐操作中的备选操作和详细信息,它们显示在当前版本的表中和之前两个版本。如果没有为该部分添加条目,则会删除表。

已弃用: 不再支持 multicluster engine operator 2.3 及更早的版本。文档可能仍然可用,但没有任何勘误或其他更新。

最佳实践: 升级到最新版本。

1.4.4.1. API 弃用和删除

multicluster engine operator 遵循 API 的 Kubernetes 弃用指南。有关该策略的更多详细信息,请参阅 Kubernetes Deprecation Policy。多集群引擎 operator API 仅在以下时间表外已弃用或删除:

  • 所有 V1 API 已正式发布(GA),提供 12 个月或跨三个发行版本(以更长的时间为准)的支持。V1 API 没有被删除,但可能会在这个时间限制外被弃用。
  • 所有 beta API 通常在九个月或跨三个发行版本(以更长的时间为准)内可用。Beta API 不会在这个时间限制外被删除。
  • 所有 alpha API 都不是必需的,但如果对用户有好处,则可能会被列为已弃用或删除。
1.4.4.1.1. API 弃用
产品或类别受影响的项Version推荐的操作详情和链接

ManagedServiceAccount

v1alpha1 API 被升级到 v1beta1,因为 v1alpha1 已被弃用。

2.4

使用 v1beta1

None

KlusterletConfig

hubKubeAPIServerProxyConfig 字段在 KlusterletConfig spec 中已弃用。

2.7

使用 hubKubeAPIServerConfig.proxyURLhubKubeAPIServerConfig.trustedCABundles 字段。

None

KlusterletConfig

hubKubeAPIServerURL 字段在 KlusterletConfig spec 中已弃用。

2.7

使用 hubKubeAPIServerConfig.url 字段。

None

KlusterletConfig

hubKubeAPIServerCABundle 字段在 KlusterletConfig spec 中已弃用

2.7

使用 hubKubeAPIServerConfig.serverVerificationStrategyhubKubeAPIServerConfig.trustedCABundles 字段。

None

1.4.4.2. 删除

一个删除(removed) 的项通常是在之前的版本中被弃用的功能,在该产品中不再可用。您必须将 alternatives 用于删除的功能。考虑使用推荐操作中的相应的替代操作,详情在下表中提供:

产品或类别受影响的项Version推荐的操作详情和链接

集群生命周期

在 Red Hat Virtualization 上创建集群

2.6

None

None

集群生命周期

klusterlet Operator Lifecycle Manager Operator

2.6

None

None

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.