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


OpenStack Operator 初始化资源创建每个 Red Hat OpenShift Container Platform (RHOCP)服务 Operator,其中包含 CPU 和内存的默认资源限值和请求,以及默认容限。您可以自定义每个 Red Hat OpenShift Container Platform (RHOCP)服务管理器的资源限值和容限配置。

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
    Copy to Clipboard Toggle word wrap
    • &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
      Copy to Clipboard Toggle word wrap
  2. 在工作站上创建名为 openstack_operator_overrides.yaml 的文件,或者打开该文件(如果已存在):

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

    spec:
      operatorOverrides:
      - name: <service>
        controllerManager:
          resources:
            limits:
              cpu: <cpu_limit>
              memory: <memory_limit>
            requests:
              cpu: <cpu_request>
              memory: 512Mi
    Copy to Clipboard Toggle word wrap
    • &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
      Copy to Clipboard Toggle word wrap
    • <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
    Copy to Clipboard Toggle word wrap
  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
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat