2.5. resources


AMQ Streams コンテナーのリソースを制御するために、リソース 要求 および 制限 を設定します。メモリーおよび cpu リソースの要求および制限を指定できます。要求には、Kafka の安定したパフォーマンスを確保できる十分な値が必要です。

実稼働環境でリソースを設定する方法は、さまざまな要因によって異なります。たとえば、アプリケーションは OpenShift クラスターでリソースを共有する可能性があります。

Kafka では、デプロイメントの以下の要素が、必要なリソースに影響を与える可能性があります。

  • メッセージのスループットとサイズ
  • メッセージを処理するネットワークスレッドの数
  • プロデューサーおよびコンシューマーの数
  • トピックおよびパーティションの数

リソース要求に指定の値は予約され、常にコンテナーで利用可能になります。リソース制限によって、指定のコンテナーが消費可能な最大リソースが指定されます。要求数から制限数の間は予約されず、常に利用できるとは限りません。コンテナーは、リソースが利用できる場合のみ、制限以下のリソースを使用できます。リソースの制限は一時的で、再割り当てが可能です。

リソース要求および制限

Boundaries of a resource requests and limits

要求なしに制限を設定する場合や、その逆の場合、OpenShift は両方に同じ値を使用します。OpenShift は制限を超えない限りコンテナーを強制終了しないので、リソースに対して、要求と制限を同じ数に設定すると、QoS (Quality of Service) が保証されます。

サポート対象のリソース 1 つまたは複数に対して、リソース要求および制限を設定できます。

リソース設定の例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    #...
    resources:
      requests:
        memory: 64Gi
        cpu: "8"
      limits:
        memory: 64Gi
        cpu: "12"
  entityOperator:
    #...
    topicOperator:
      #...
      resources:
        requests:
          memory: 512Mi
          cpu: "1"
        limits:
          memory: 512Mi
          cpu: "1"

Topic Operator および User Operator のリソース要求および制限は Kafka リソースに設定されます。

リソース要求が OpenShift クラスターで利用可能な空きリソースを超える場合、Pod はスケジュールされません。

注記

AMQ Streams では、OpenShift 構文を使用して メモリー および cpu リソースを指定します。OpenShift におけるコンピュートリソースの管理に関する詳細は、Managing Compute Resources for Containers を参照してください。

メモリーリソース

メモリーリソースを設定する場合は、コンポーネントの合計要件を考慮してください。

Kafka は JVM 内で実行され、オペレーティングシステムページキャッシュを使用してディスクに書き込む前にメッセージデータを保存します。Kafka のメモリー要求は、JVM ヒープおよびページキャッシュに適合する必要があります。 jvmOptions プロパティーを設定 すると、最小および最大ヒープサイズを制御できます。

他のコンポーネントはページキャッシュに依存しません。メモリーリソースは、ヒープサイズを制御する jvmOptions を指定せずに、設定できます。

メモリー要求および制限は、メガバイト、ギガバイト、メビバイト、およびギビバイトで指定されます。仕様では、以下の接尾辞を使用します。

  • M (メガバイト)
  • G (ギガバイト)
  • Mi (メビバイト)
  • Gi (ギビバイト)

異なるメモリー単位を使用するリソースの例

# ...
resources:
  requests:
    memory: 512Mi
  limits:
    memory: 2Gi
# ...

メモリーの指定およびサポートされるその他の単位に関する詳細は、Meaning of memory を参照してください。

CPU リソース

常に信頼できるパフォーマンスを発揮させるには、CPU 要求を十分に指定する必要があります。CPU の要求および制限は、コア または ミリ cpu/ミリコア として指定します。

CPU コアは、整数 (5 CPU コア) または小数 (2.5 CPU コア) で指定します。1000 ミリコア1 CPU コアと同じです。

CPU の単位の例

# ...
resources:
  requests:
    cpu: 500m
  limits:
    cpu: 2.5
# ...

1 つの CPU コアのコンピューティング能力は、OpenShift がデプロイされたプラットフォームによって異なることがあります。

CPU 仕様の詳細は、Meaning of CPUを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.