1.7. 使用正确大小指南优化工作负载(技术预览)


正确大小的功能将实时 CPU 和内存用量与您设置的资源配置进行比较,并提供在命名空间和集群级别优化工作负载的指南。

通过正确大小,您可以更有效地使用基础架构,降低成本,并通过识别受管集群中过度置备或利用率不足的资源来确保工作负载更好的性能。

需要的访问权限: Editor

1.7.1. 先决条件

  • 在 hub 集群中启用了 multicluster observability Operator。

1.7.2. 启用正确大小

您可以通过在 hub 集群上的 MultiClusterObservability 自定义资源中启用该功能来实现正确的大小。完成以下步骤:

  1. 打开 observability 实例配置。运行以下命令:

    oc edit multiclusterobservability observability
    Copy to Clipboard Toggle word wrap
  2. MultiClusterObservability 自定义资源的 spec 部分添加以下行:

    apiVersion: observability.open-cluster-management.io/v1beta2
    kind: MultiClusterObservability
    metadata:
      name: observability
    spec:
      capabilities:
        platform:
          analytics:
            namespaceRightSizingRecommendation:
              enabled: true
    . . .
    Copy to Clipboard Toggle word wrap

    您可以将 enabled: 设置为 false 来禁用正确的大小。

启用正确大小后,会自动创建以下资源:

rs-namespace-config ConfigMap
存储放置和 PrometheusRule 的配置。
rs-prom-rules-policy 策略
包含用于评估资源使用量的 Prometheus 规则。The
rs-placement 放置
基于标签选择器决定目标集群。The
rs-policyset-binding PlacementBinding
将策略和放置绑定到一起。

您可以通过从 Grafana 仪表板中访问 RightSizing Recommendation > ACM Right-Sizing Namespace 来查看正确的指南。

备注:

  • Prometheus 规则基于集群名称,而不是集群 ID。
  • CPU 和内存请求、利用率和指南指标根据您选择的最后聚合天数显示最大值。
  • 历史数据点不会被回填。安装正确大小功能后,您需要等待调查较长的聚合周期。

1.7.3. 配置正确指南(技术预览)

您可以通过编辑 rs-namespace-config ConfigMap 资源来自定义正确的大小。

1.7.3.1. 先决条件

  • 您已启用了正确的指南。

1.7.3.2. 配置放置

您可以通过更改 rs-namespace-config ConfigMap 资源中的 placementConfiguration 属性来自定义放置配置。

请参阅以下示例,其中策略只适用于带有 environment=prod 标签的集群:

placementConfiguration: |
 spec:
   . . .
   predicates:
   - requiredClusterSelector:
       labelSelector:
         matchLabels:
           environment: prod
   . . .
Copy to Clipboard Toggle word wrap

1.7.3.3. 配置 PrometheusRule

您可以通过更改以下属性之一来自定义 PrometheusRule 资源:

namespaceFilterCriteria
限制特定命名空间的指南。您可以包含或排除此属性。
labelFilterCriteria
使用自定义标签过滤命名空间。
recommendationPercentage
调整 CPU 和内存指南百分比。

请参见以下示例:

. . .
  prometheusRuleConfig: |
   namespaceFilterCriteria:
    inclusionCriteria: 
1

    - prod.*
    exclusionCriteria: 
2

    - openshift.*
  labelFilterCriteria:
  - labelName: label_kubernetes_io_metadata_name
    inclusionCriteria:
    - prod
    - staging
    exclusionCriteria:
    - kube.*
  recommendationPercentage: 120 
3

  . . .
Copy to Clipboard Toggle word wrap
1 2
使用 includeCriteriaexcludeCriteria。您不能同时使用这两者。
3
设置实际用量的百分比。

1.7.3.4. 配置命名空间绑定

默认情况下,正确大小的功能使用 open-cluster-management-global-set 命名空间将策略绑定到集群。

要将生成的策略绑定到不同的命名空间和集群集,请使用 namespaceBinding 属性。请参见以下示例:

apiVersion: observability.open-cluster-management.io/v1beta2
kind: MultiClusterObservability
metadata:
  name: observability
spec:
  . . .
  capabilities:
    platform:
      analytics:
        namespaceRightSizingRecommendation:
          enabled: true
          namespaceBinding: <your-namespace-binding>
  . . .
Copy to Clipboard Toggle word wrap

重要: 在应用更改前,请确保目标命名空间是有效的 ClusterSet 的一部分。如果没有有效的绑定,则您生成的策略可能不适用于任何集群。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部