1.3. 集群功能


集群管理员可在安装前使用集群功能启用或禁用可选组件。集群管理员可以在安装后随时启用集群功能。

注意

集群管理员无法在启用集群后禁用集群功能。

1.3.1. 启用集群功能

如果您使用包含自定义集群的安装方法,通过创建 install-config.yaml 文件,您可以选择您要在集群中可用的集群功能。

注意

如果启用或禁用特定集群功能来自定义集群,您必须手动维护 install-config.yaml 文件。新的 OpenShift Container Platform 更新可能会为现有组件声明新的功能处理,或者完全引入新的组件。自定义 install-config.yaml 文件的用户应该会在 OpenShift Container Platform 更新时定期更新其 install-config.yaml 文件。

您可以使用以下配置参数来选择集群功能:

capabilities:
  baselineCapabilitySet: v4.11 1
  additionalEnabledCapabilities: 2
  - CSISnapshot
  - Console
  - Storage
1
定义要安装的一组基准功能。有效值为 NonevCurrentv4.x。如果选择 None,则禁用所有可选功能。默认值为 vCurrent,它启用了所有可选功能。
注意

v4.x 代表最高为当前集群版本(包括当前版本)的任何值。例如,OpenShift Container Platform 4.12 集群的有效值为 v4.11v4.12

2
定义要显式启用的功能列表。除了 baselineCapabilitySet 中指定的功能外,这些功能还启用了。
注意

在本例中,默认能力被设置为 v4.11additionalEnabledCapabilities 字段启用了默认的 v4.11 功能集的额外功能。

下表描述了 baselineCapabilitySet 值。

表 1.3. 集群功能 baselineCapabilitySet 值描述
描述

vCurrent

当您要自动添加新版本中引入的新功能时,指定这个选项。

v4.11

当要为 OpenShift Container Platform 4.11 启用默认功能时指定这个选项。通过指定 v4.11,不会启用较新版本的 OpenShift Container Platform 中引入的功能。OpenShift Container Platform 4.11 中的默认功能是 baremetalMachineAPImarketplaceopenshift-samples

v4.12

当您要为 OpenShift Container Platform 4.12 启用默认功能时指定这个选项。通过指定 v4.12,不会启用较新版本的 OpenShift Container Platform 中引入的功能。OpenShift Container Platform 4.12 中的默认功能是 baremetal,MachineAPI,marketplace,openshift-samples,Console,Insights,Storage, 和 CSISnapshot

v4.13

当要为 OpenShift Container Platform 4.13 启用默认功能时,指定这个选项。通过指定 v4.13,不会启用较新版本的 OpenShift Container Platform 中引入的功能。OpenShift Container Platform 4.13 中的默认功能是 baremetal,MachineAPI,marketplace,openshift-samples,Console,Insights,Storage,CSISnapshot, 和 NodeTuning

v4.14

当要为 OpenShift Container Platform 4.14 启用默认功能时指定这个选项。通过指定 v4.14,不会启用较新版本的 OpenShift Container Platform 中引入的功能。OpenShift Container Platform 4.14 中的默认功能是 baremetal,MachineAPI,marketplace,openshift-samples,Console,Insights,Storage,CSISnapshot,NodeTuning,ImageRegistry,Build, 和 DeploymentConfig

v4.15

当要为 OpenShift Container Platform 4.15 启用默认功能时指定这个选项。通过指定 v4.15,不会启用较新版本的 OpenShift Container Platform 中引入的功能。OpenShift Container Platform 4.15 中的默认功能是 baremetal,MachineAPI,marketplace,OperatorLifecycleManager,openshift-samples,Console,Insights,Storage,CSISnapshot,NodeTuning,ImageRegistry,Build,CloudCredential, 和 DeploymentConfig

v4.16

当要为 OpenShift Container Platform 4.16 启用默认功能时指定这个选项。通过指定 v4.16,不会启用较新版本的 OpenShift Container Platform 中引入的功能。OpenShift Container Platform 4.16 中的默认功能是 baremetal, MachineAPI, marketplace, OperatorLifecycleManager, openshift-samples, Console, Insights, Storage, CSISnapshot, NodeTuning, ImageRegistry, Build, CloudCredential, DeploymentConfig, 和 CloudControllerManager

None

指定其他集合太大,您不需要任何功能,或者想要 通过额外的EnabledCapabilities 进行微调。

1.3.2. OpenShift Container Platform 4.16 中的可选集群功能

目前,集群 Operator 为这些可选功能提供功能。以下总结了每个功能提供的功能,并在禁用时丢失的功能。

1.3.2.1. 裸机功能

用途

Cluster Baremetal Operator 为 baremetal 功能提供功能。

Cluster Baremetal Operator (CBO) 会部署使裸机服务器成为一个可完全正常工作的节点以运行 OpenShift Container Platform 计算节点所需的所有组件。CBO 确保 metal3 部署(由 Bare Metal Operator (BMO) 和 Ironic 容器组成)在 OpenShift Container Platform 集群内的一个 control plane 节点上运行。CBO 还会侦听 OpenShift Container Platform 对资源的更新,它会监视并采取适当的操作。

使用安装程序置备的基础架构部署需要裸机功能。禁用裸机功能可能会导致这些部署出现意外问题。

建议集群管理员仅在带有集群中没有任何 BareMetalHost 资源的用户置备的基础架构禁用裸机功能。

重要

如果禁用裸机功能,集群将无法置备或管理裸机节点。只有在部署中没有 BareMetalHost 资源时才禁用该功能。baremetal 能力取决于 MachineAPI 功能。如果启用 baremetal 功能,还必须启用 MachineAPI

1.3.2.2. 构建功能

用途

Build 功能启用 Build API。Build API 管理 BuildBuildConfig 对象的生命周期。

重要

如果您禁用 Build 功能,集群中没有提供以下资源:

  • BuildBuildConfig 资源
  • builder 服务帐户

仅在不需要 BuildBuildConfig 资源,或集群中有 builder 服务帐户时,才禁用 Build 功能。

1.3.2.3. 云控制器管理器功能

用途

Cloud Controller Manager Operator 为 CloudControllerManager 提供功能。

注意

目前,在所有平台上都不支持禁用 CloudControllerManager 功能。

您可以通过检查集群的安装配置 (install-config.yaml) 文件中的值来确定集群是否支持禁用 CloudControllerManager 功能。

install-config.yaml 文件中,找到 platform 参数。

  • 如果 platform 参数的值是 BaremetalNone,您可以在集群中禁用 CloudControllerManager 功能。
  • 如果 platform 参数的值是 External,找到 platform.external.cloudControllerManager 参数。如果 platform.external.cloudControllerManager 参数的值为 None,您可以在集群中禁用 CloudControllerManager 功能。
重要

如果这些参数包含除列出的值以外的其他值,则无法在集群中禁用 CloudControllerManager 功能。

注意

对于 Amazon Web Services (AWS), Google Cloud Platform (GCP), IBM Cloud®, global Microsoft Azure, Microsoft Azure Stack Hub, Nutanix, Red Hat OpenStack Platform (RHOSP), 和 VMware vSphere,这个 Operator 的状态是正式发布(GA)。

Operator 作为技术预览提供 IBM Power® Virtual Server。

Cloud Controller Manager Operator 管理并更新在 OpenShift Container Platform 上部署的云控制器管理器。Operator 基于 Kubebuilder 框架和 controller-runtime 库。它通过 Cluster Version Operator (CVO) 安装。

它包含以下组件:

  • Operator
  • 云配置观察

默认情况下,Operator 通过 metrics 服务公开 Prometheus 指标数据。

1.3.2.4. 云凭证功能

用途

Cloud Credential Operator 为 CloudCredential 提供功能。

注意

目前,禁用 CloudCredential 只在裸机集群中被支持。

Cloud Credential Operator(CCO)将云供应商凭证作为 Kubernetes 自定义资源定义(CRD)进行管理。CredentialsRequest 自定义资源(CR)的 CCO 同步,允许 OpenShift Container Platform 组件使用集群运行所需的特定权限请求云供应商凭证。

通过在 install-config.yaml 文件中为 credentialsMode 参数设置不同的值,可将 CCO 配置为以几种不同模式操作。如果没有指定模式,或将 credentialsMode 参数被设置为空字符串("")。

1.3.2.5. 集群存储功能

用途

Cluster Storage Operator 为存储功能提供功能。

Cluster Storage Operator 设置 OpenShift Container Platform 集群范围内的存储默认设置。它确保了 OpenShift Container Platform 集群存在默认存储类。它还安装 Container Storage Interface (CSI) 驱动程序,使集群能够使用各种存储后端。

重要

如果禁用了集群存储功能,集群将没有默认的 storageclass 或任何 CSI 驱动程序。具有管理员特权的用户可以创建默认存储类,并在禁用集群存储功能时手动安装 CSI 驱动程序。

备注
  • Operator 创建的存储类可以通过编辑其注解来实现非默认设置,但只要 Operator 运行,这个存储类就无法被删除。

1.3.2.6. 控制台功能

用途

Console Operator 为 Console 功能提供功能。

Console Operator 在集群中安装和维护 OpenShift Container Platform web 控制台。Console Operator 会被默认安装,并自动维护控制台。

其他资源

1.3.2.7. CSI 快照控制器功能

用途

Cluster CSI Snapshot Controller Operator 为 CSISnapshot 功能提供功能。

Cluster CSI Snapshot Controller Operator 安装和维护 CSI Snapshot Controller。CSI Snapshot Controller 负责监视 VolumeSnapshot CRD 对象,并管理卷快照的创建和删除生命周期。

其他资源

1.3.2.8. DeploymentConfig 功能

用途

DeploymentConfig 功能启用和管理 DeploymentConfig API。

重要

如果禁用 DeploymentConfig 功能,集群中将无法使用以下资源:

  • DeploymentConfig 资源
  • deployer 服务帐户

仅在不需要 DeploymentConfig 资源以及集群中有 deployer 服务帐户时才禁用 DeploymentConfig 功能。

1.3.2.9. Ingress 能力

用途

Ingress Operator 为 Ingress 提供功能。

Ingress Operator 配置并管理 OpenShift Container Platform 路由。

项目

openshift-ingress-operator

CRD
  • clusteringresses.ingress.openshift.io

    • Scope: Namespaced
    • CR: clusteringresses
    • Validation: No
Configuration objects
  • Cluster config

    • 类型名:clusteringresses.ingress.openshift.io
    • 实例名称: default
    • 查看命令:

      $ oc get clusteringresses.ingress.openshift.io -n openshift-ingress-operator default -o yaml
备注

Ingress Operator 在 openshift-ingress 项目中设置路由,并为路由创建部署:

$ oc get deployment -n openshift-ingress

Ingress Operator 使用来自 network/cluster 状态的 clusterNetwork[].cidr 来决定受管入口控制器(路由器)应该在其中操作的模式(IPv4、IPv6 或双堆栈)。例如,如果 clusterNetwork 只包含 v6 cidr,则 Ingress Controller 在只纯 IPv6 模式下运行。

在以下示例中,Ingress Operator 管理的 ingress 控制器将以 IPv4 模式运行,因为只有一个集群网络存在,网络是 IPv4 cidr

$ oc get network/cluster -o jsonpath='{.status.clusterNetwork[*]}'

输出示例

map[cidr:10.128.0.0/14 hostPrefix:23]

1.3.2.10. Insights 功能

用途

Insights Operator 为 Insights 功能提供功能。

Insights Operator 收集 OpenShift Container Platform 配置数据并将其发送到红帽。数据用于生成有关集群可能暴露的潜在问题的主动分析建议。这些建议通过 console.redhat.com 上的 Insights Advisor 与集群管理员通信。

备注

Insights Operator 补充 OpenShift Container Platform Telemetry。

1.3.2.11. 机器 API 功能

用途

machine-api-operatorcluster-autoscaler-operatorcluster-control-plane-machine-set-operator Operator 提供了与 MachineAPI 功能相关的功能。只有在使用用户置备的基础架构安装集群时,才能禁用此功能。

Machine API 功能负责集群中的所有机器配置和管理。如果在安装过程中禁用 Machine API 功能,则需要手动管理所有与机器相关的任务。

1.3.2.12. Marketplace 功能

用途

Marketplace Operator 提供了 marketplace 功能。

Marketplace Operator 通过使用集群中的一组默认 Operator Lifecycle Manager (OLM) 目录简化了将非集群 Operator 引入集群的过程。安装 Marketplace Operator 时,它会创建 openshift-marketplace 命名空间。OLM 确保在 openshift-marketplace 命名空间中安装的目录源可用于集群中的所有命名空间。

如果禁用 marketplace 功能,Marketplace Operator 不会创建 openshift-marketplace 命名空间。目录源仍可在集群中配置和管理,但 OLM 依赖于 openshift-marketplace 命名空间,以便目录可供集群中的所有命名空间使用。有权创建带 openshift- 前缀的命名空间(如系统或集群管理员)的用户可以手动创建 openshift-marketplace 命名空间。

如果启用 marketplace 功能,您可以通过配置 Marketplace Operator 来启用和禁用单个目录。

1.3.2.13. Operator Lifecycle Manager 功能

用途

Operator Lifecycle Manager(OLM)可帮助用户安装、更新和管理所有 Kubernetes 原生应用程序(Operator)以及在 OpenShift Container Platform 集群中运行的关联服务的生命周期。它是 Operator Framework 的一部分,后者是一个开源工具包,用于以有效、自动化且可扩展的方式管理 Operator。

如果 Operator 需要以下 API,则必须启用 OperatorLifecycleManager 功能:

  • ClusterServiceVersion
  • CatalogSource
  • 订阅
  • InstallPlan
  • OperatorGroup
重要

marketplace 功能取决于 OperatorLifecycleManager 功能。您无法禁用 OperatorLifecycleManager 功能并启用 marketplace 功能。

1.3.2.14. 节点调优功能

用途

Node Tuning Operator 为 NodeTuning 功能提供功能。

Node Tuning Operator 可以帮助您通过编排 TuneD 守护进程来管理节点级别的性能优化,并使用 Performance Profile 控制器获得低延迟性能。大多数高性能应用程序都需要一定程度的内核级性能优化。Node Tuning Operator 为用户提供了一个统一的、节点一级的 sysctl 管理接口,并可以根据具体用户的需要灵活地添加自定义性能优化设置。

如果您禁用了 NodeTuning 功能,一些默认的性能优化设置不会应用到 control-plane 节点。这可能会限制具有 900 个节点或 900 路由的大型集群的可扩展性和性能。

1.3.2.15. OpenShift 示例功能

用途

Cluster Samples Operator 为 openshift-samples 功能提供功能。

Cluster Samples Operator 管理存储在 openshift 命名空间中的示例镜像流和模板。

在初始启动时,Operator 会创建默认样本配置资源来启动镜像流和模板的创建。配置对象是一个集群范围内的对象,它带有一个键 cluster 和类型 configs.samples

镜像流是基于 Red Hat Enterprise Linux CoreOS (RHCOS) 的 OpenShift Container Platform 镜像流,指向 registry.redhat.io 上的镜像。同样,模板也被归类为 OpenShift Container Platform 模板。

如果您禁用示例功能,用户无法访问它提供的镜像流、示例和模板。根据您的部署,如果不需要,您可能需要禁用此组件。

1.3.2.16. 集群 Image Registry 功能

用途

Cluster Image Registry Operator 为 ImageRegistry 功能提供功能。

Cluster Image Registry Operator 管理 OpenShift 镜像 registry 的单个实例。它管理 registry 的所有配置,包括创建存储。

在初始启动时,Operator 会基于集群中检测到的配置创建默认的 image-registry 资源实例。这代表了根据云供应商要使用的云存储类型。

如果没有足够的信息来定义完整的 image-registry 资源,则会定义一个不完整的资源,Operator 将更新资源状态以提供缺失的内容。

Cluster Image Registry Operator在openshift-image-registry命名空间中运行,并管理该位置中的 registry 实例。registry的所有配置和工作负载资源都位于该命名空间中。

要将镜像 registry 集成到集群的用户身份验证和授权系统中,会为集群中的每个服务帐户生成一个镜像 pull secret。

重要

如果您禁用 ImageRegistry 功能,或者在 Cluster Image Registry Operator 配置中禁用集成的 OpenShift 镜像 registry,则不会为每个服务帐户生成镜像 pull secret。

如果禁用 ImageRegistry 功能,您可以在 Telco 环境中减少 OpenShift Container Platform 的整体资源占用空间。根据您的部署,如果需要,可以禁用此组件。

项目

cluster-image-registry-operator

1.3.3. 查看集群功能

作为集群管理员,您可以使用 clusterversion 资源状态来查看功能。

先决条件

  • 已安装 OpenShift CLI(oc)。

流程

  • 要查看集群功能的状态,请运行以下命令:

    $ oc get clusterversion version -o jsonpath='{.spec.capabilities}{"\n"}{.status.capabilities}{"\n"}'

    输出示例

    {"additionalEnabledCapabilities":["openshift-samples"],"baselineCapabilitySet":"None"}
    {"enabledCapabilities":["openshift-samples"],"knownCapabilities":["CSISnapshot","Console","Insights","Storage","baremetal","marketplace","openshift-samples"]}

1.3.4. 通过设置基准功能集启用集群功能

作为集群管理员,您可以通过设置 baselineCapabilitySet 配置参数,在 OpenShift Container Platform 安装后随时启用集群功能。

先决条件

  • 已安装 OpenShift CLI(oc)。

流程

  • 要设置 baselineCapabilitySet 配置参数,请运行以下命令:

    $ oc patch clusterversion version --type merge -p '{"spec":{"capabilities":{"baselineCapabilitySet":"vCurrent"}}}' 1
    1
    对于 baselineCapabilitySet,您可以指定 vCurrentv4.16None

1.3.5. 通过设置其他启用的功能来启用集群功能

作为集群管理员,您可以通过设置 additionalEnabledCapabilities 配置参数,在 OpenShift Container Platform 安装后随时启用集群功能。

先决条件

  • 已安装 OpenShift CLI(oc)。

流程

  1. 运行以下命令查看附加启用的功能:

    $ oc get clusterversion version -o jsonpath='{.spec.capabilities.additionalEnabledCapabilities}{"\n"}'

    输出示例

    ["openshift-samples"]

  2. 要设置 additionalEnabledCapabilities 配置参数,请运行以下命令:

    $ oc patch clusterversion/version --type merge -p '{"spec":{"capabilities":{"additionalEnabledCapabilities":["openshift-samples", "marketplace"]}}}'
重要

无法禁用集群中已经启用的功能。集群版本 Operator (CVO) 继续协调集群中已经启用的功能。

如果您尝试禁用某个功能,则 CVO 会显示相关的 spec:

$ oc get clusterversion version -o jsonpath='{.status.conditions[?(@.type=="ImplicitlyEnabledCapabilities")]}{"\n"}'

输出示例

{"lastTransitionTime":"2022-07-22T03:14:35Z","message":"The following capabilities could not be disabled: openshift-samples","reason":"CapabilitiesImplicitlyEnabled","status":"True","type":"ImplicitlyEnabledCapabilities"}

注意

在集群升级过程中,可以隐式启用给定功能。如果在升级前已在集群上运行资源,那么将启用属于资源的任何功能。例如,在集群升级过程中,已在集群中运行的资源已更改为系统已作为 marketplace 功能的一部分。即使集群管理员没有明确启用了 marketplace 功能,它也会被系统隐式启用。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.