第 1 章 在 OpenShift 服务 Operator 上自定义 Red Hat OpenStack Services 的控制器管理器


OpenStack Operator 初始化资源为每个服务 Operator 创建具有默认资源限值、CPU 请求、内存请求和容限。您可以自定义每个服务 Operator 控制器管理器的资源限值和容限,以优化部署性能。

1.1. 自定义服务 Operator 资源

您可以通过覆盖 OpenStack Operator 自定义资源(CR)中服务的默认值来自定义 Red Hat OpenShift Container Platform (RHOCP)服务 Operator 的资源限值和请求。

流程

  1. 查看默认服务 Operator 资源:

    $ oc get deployment <service>-operator-controller-manager -o yaml | yq .spec.template.spec.containers[0].resources
    limits:
      cpu: 500m
      memory: 1Gi
    requests:
      cpu: 10m
      memory: 512Mi
    • &lt;service> 替换为您要更新资源的服务名称,如 infrakeystone。使用以下命令检索服务 Operator 名称列表:

      $ for i in $(oc get deployment -n openstack-operators -l control-plane=controller-manager -o name); do oc get $i -n openstack-operators -o jsonpath='{.metadata.labels.openstack\.org/operator-name}{"\n"}'; done
  2. 在工作站上创建名为 openstack_operator_overrides.yaml 的文件,或者打开该文件(如果已存在):

    apiVersion: operator.openstack.org/v1beta1
    kind: OpenStack
    metadata:
      name: openstack
      namespace: openstack-operators
  3. 根据您的环境需要,配置每个服务的 资源 覆盖:

    spec:
      operatorOverrides:
      - name: <service>
        controllerManager:
          resources:
            limits:
              cpu: <cpu_limit>
              memory: <memory_limit>
            requests:
              cpu: <cpu_request>
              memory: 512Mi
    • &lt;service> 替换为您要更新资源的服务名称,如 infrakeystone。使用以下命令检索服务 Operator 名称列表:

      $ for i in $(oc get deployment -n openstack-operators -l control-plane=controller-manager -o name); do oc get $i -n openstack-operators -o jsonpath='{.metadata.labels.openstack\.org/operator-name}{"\n"}'; done
    • <cpu_limit > 替换为 millicpus 中此服务的 pod 的最大绝对分配 CPU。例如,设置为 600m,将此服务的 CPU 分配限制为 60%。
    • <memory_limit > 替换为此服务的 pod 的最大分配内存。例如,设置为 2Gi,将这个服务的内存分配限制为 2 GiB。
    • <cpu_request > 替换为在 millicpus 中为此服务的 pod 请求的最小 CPU 分配。例如,设置为 10m,将 CPU 的 1% 分配给此服务的 pod。
    • <memory_request > 替换为为此服务的 pod 所需的最小内存分配。例如,设置为 512Mi,将 512 MiB 内存分配给此服务的 pod。
  4. 更新 OpenStack Operator:

    $ oc apply -f openstack_operator_overrides.yaml -n openstack-operators
  5. 确认应用了更新的资源分配:

    $ oc get deployment <service>-operator-controller-manager -o yaml | yq .spec.template.spec.containers[0].resources
    limits:
      cpu: 600m
      memory: 2Gi
    requests:
      cpu: 10m
      memory: 512Mi
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部