8.2. 統合制限の有効化


統合制限を有効にするには、各セルに対して nova-api サービスと nova-conductor サービスを設定する必要があります。登録された制限を必須とするか無視するかを指定するリソースのリストを定義することもできます。

重要

コンピュートホストにスケジュールされたことがない ERROR 状態のサーバーには配置割り当てがないため、コアと RAM のクォータ使用量を消費しません。

SHELVED_OFFLOADED 状態のサーバーには配置割り当てがないため、コアと RAM のクォータ使用量を消費しません。そのため、サーバーの復元に必要なコアと RAM をサポートできるだけの十分なクォータがユーザーにない場合、サーバーの復元要求が拒否される可能性があります。

統合制限を有効にすると、サーバーのサイズ変更中に、サイズ変更が完了するまでクォータ使用量が増加します。詳細は、https://bugs.launchpad.net/nova/+bug/1790204 を参照してください。

手順

  1. per-project クォータのクォータ適用については、システムスコープの reader ロールを Compute サービスユーザーに追加します。

    $ oc exec openstackclient -- openstack role add --user nova --user-domain <service_domain_name> --system all reader
    • <service_domain_name> をサービスドメイン名に置き換えます。
  2. Compute サービスエンドポイント ID を取得します。nova-api および nova-conductor サービスを設定するには、この値が必要です。

    $ oc exec openstackclient -- openstack endpoint list --service nova -f value -c ID
  3. ワークステーションで OpenStackControlPlane カスタムリソース (CR) ファイル openstack_control_plane.yaml を開きます。
  4. openstack_control_plane.yamlnova-api および nova-conductor サービスを設定します。driver パラメーターを nova.quota.UnifiedLimitsDriver に設定します。前の手順で取得した Compute サービスの endpoint_id を、各セルの apiServiceTemplate.customServiceConfigconductorServiceTemplate.customServiceConfig に定義する必要があります。

    簡単な例:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    spec:
      nova:
        template:
          apiServiceTemplate:
            customServiceConfig: |
              [quota]
              driver = nova.quota.UnifiedLimitsDriver
              [oslo_limit]
              endpoint_id = <service_endpoint_id>
          cellTemplates:
            cell0:
              conductorServiceTemplate:
                customServiceConfig: |
                  [quota]
                  driver = nova.quota.UnifiedLimitsDriver
                  [oslo_limit]
                  endpoint_id = <service_endpoint_id>
            cell1:
              conductorServiceTemplate:
                customServiceConfig: |
                  [quota]
                  driver = nova.quota.UnifiedLimitsDriver
                  [oslo_limit]
                  endpoint_id = <service_endpoint_id>
    • <service_endpoint_id> を、前の手順で取得した Compute サービスエンドポイント ID に置き換えます。

      注記

      セルを追加する場合は、新しいセルにも統合制限を設定する必要があります。新しいセルを追加するには、Red Hat OpenStack Services on OpenShift デプロイメントのカスタマイズ ガイドの コントロールプレーンへのコンピュートセルの追加 を参照してください。

  5. オプション: unified_limits_resource_list パラメーターを設定することで、[quota] 統合制限リソースストラテジーとして、登録済みの制限を無視 (ignore) するか要求 (require) するかを設定します。デフォルトのストラテジーは require であり、デフォルトのリソースリストには servers が含まれます。

    リソースストラテジーが require の設定例:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    spec:
      nova:
        template:
          apiServiceTemplate:
            customServiceConfig: |
              [quota]
              driver = nova.quota.UnifiedLimitsDriver
              unified_limits_resource_strategy = require
    
              # Do not allow allocation of a resource in this list unless it has
              # a limit set in Keystone.
              unified_limits_resource_list = servers,class:VCPU,class:MEMORY_MB,class:DISK_GB
              [oslo_limit]
              endpoint_id = <service_endpoint_id>
          cellTemplates:
            cell0:
               conductorServiceTemplate:
                customServiceConfig: |
                  [quota]
                  driver = nova.quota.UnifiedLimitsDriver
                  unified_limits_resource_strategy = require
    
                  # Do not allow allocation of a resource in this list unless it has
                  # a limit set in Keystone.
                  unified_limits_resource_list = servers,class:VCPU,class:MEMORY_MB,class:DISK_GB
                  [oslo_limit]
                  endpoint_id = <service_endpoint_id>
            cell1:
               conductorServiceTemplate:
                customServiceConfig: |
                  [quota]
                  driver = nova.quota.UnifiedLimitsDriver
                  unified_limits_resource_strategy = require
    
                  # Do not allow allocation of a resource in this list unless it has
                  # a limit set in Keystone.
                  unified_limits_resource_list = servers,class:VCPU,class:MEMORY_MB,class:DISK_GB
                  [oslo_limit]
                  endpoint_id = <service_endpoint_id>

    リソースストラテジーが ignore の設定例:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    spec:
      nova:
        template:
          apiServiceTemplate:
            customServiceConfig: |
              [quota]
              driver = nova.quota.UnifiedLimitsDriver
              unified_limits_resource_strategy = ignore
    
              # Allow unlimited allocation of a resource in this list unless it
              # has a limit set in Keystone.
    
              unified_limits_resource_list = servers,class:VCPU,class:MEMORY_MB,class:DISK_GB
              [oslo_limit]
              endpoint_id = <service_endpoint_id>
          cellTemplates:
            cell0:
               conductorServiceTemplate:
                customServiceConfig: |
                  [quota]
                  driver = nova.quota.UnifiedLimitsDriver
                  unified_limits_resource_strategy = ignore
    
                  # Allow unlimited allocation of a resource in this list unless it
                  # has a limit set in Keystone.
                  unified_limits_resource_list = servers,class:VCPU,class:MEMORY_MB,class:DISK_GB
                  [oslo_limit]
                  endpoint_id = <service_endpoint_id>
            cell1:
               conductorServiceTemplate:
                customServiceConfig: |
                  [quota]
                  driver = nova.quota.UnifiedLimitsDriver
                  unified_limits_resource_strategy = ignore
    
                  # Allow unlimited allocation of a resource in this list unless it
                  # has a limit set in Keystone.
                  unified_limits_resource_list = servers,class:VCPU,class:MEMORY_MB,class:DISK_GB
                  [oslo_limit]
                  endpoint_id = <service_endpoint_id>
  6. コントロールプレーンを更新します。

    $ oc apply -f openstack_control_plane.yaml -n openstack
  7. Red Hat OpenShift Container Platform (RHOCP) が OpenStackControlPlane CR に関連するリソースを作成するまで待機します。次のコマンドを実行して、ステータスを確認します。

    $ oc get openstackcontrolplane -n openstack

    ステータスが Setup complete であれば、OpenStackControlPlane リソースが作成されています。

    ヒント

    デプロイの進行状況を追跡するには、get コマンドの末尾に -w オプションを追加します。

  8. オプション: 作成した各セルの openstack namespace 内の Pod を確認して、コントロールプレーンがデプロイされていることを確認します。すべての Pod が完了または実行中の状態であれば、コントロールプレーンがデプロイされています。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る