4.11. カタログソース Pod のスケジューリング


ソースタイプ grpc の Operator Lifecycle Manager (OLM) カタログソースが spec.image を定義すると、Catalog Operator は、定義されたイメージコンテンツを提供する Pod を作成します。デフォルトでは、この Pod は、その仕様で以下を定義します。

  • kubernetes.io/os=linux ノードセレクターのみ
  • デフォルトの優先クラス名: system-cluster-critical
  • toleration なし

管理者は、CatalogSource オブジェクトのオプションの spec.grpcPodConfig セクションのフィールドを変更すると、これらの値をオーバーライドできます。

重要

Marketplace Operator の openshift-marketplace は、デフォルトの OperatorHub カスタムリソース (CR) を管理します。この CR は CatalogSource オブジェクトを管理します。CatalogSource オブジェクトの spec.grpcPodConfig セクションのフィールドを変更しようとすると、Marketplace Operator はこれらの変更を自動的に元に戻します。デフォルトでは、CatalogSource オブジェクトの spec.grpcPodConfig セクションのフィールドを変更すると、Marketplace Operator はこれらの変更を自動的に元に戻します。

CatalogSource オブジェクトに永続的な変更を適用するには、まずデフォルトの CatalogSource オブジェクトを無効にする必要があります。

4.11.1. ローカルレベルでのデフォルト CatalogSource オブジェクトの無効化

デフォルトの CatalogSource オブジェクトを無効にすることで、カタログソース Pod などの永続的な変更をローカルレベルで CatalogSource オブジェクトに適用できます。デフォルトの CatalogSource オブジェクトの設定が組織のニーズを満たさない場合は、デフォルト設定を検討してください。デフォルトでは、CatalogSource オブジェクトの spec.grpcPodConfig セクションのフィールドを変更すると、Marketplace Operator はこれらの変更を自動的に元に戻します。

Marketplace Operator の openshift-marketplace は、OperatorHub のデフォルトのカスタムリソース (CR) を管理します。OperatorHubCatalogSource オブジェクトを管理します。

CatalogSource オブジェクトに永続的な変更を適用するには、まずデフォルトの CatalogSource オブジェクトを無効にする必要があります。

手順

  • すべてのデフォルトの CatalogSource オブジェクトをローカルレベルで無効にするには、次のコマンドを入力します。

    $ oc patch operatorhub cluster -p '{"spec": {"disableAllDefaultSources": true}}' --type=merge
    注記

    また、デフォルトの OperatorHub CR を設定して、すべての CatalogSource オブジェクトを無効にするか、または特定のオブジェクトを無効にすることもできます。

4.11.2. カタログソース Pod のノードセレクターのオーバーライド

前提条件

  • spec.image を持つソースタイプ grpcCatalogSource オブジェクトが定義されている。

手順

  • CatalogSource オブジェクトを編集し、spec.grpcPodConfig セクションを追加または変更して、以下を含めます。

      grpcPodConfig:
        nodeSelector:
          custom_label: <label>

    <label> は、カタログソース Pod がスケジュールに使用するノードセレクターのラベルです。

4.11.3. カタログソース Pod の優先度クラス名のオーバーライド

前提条件

  • spec.image を持つソースタイプ grpcCatalogSource オブジェクトが定義されている。

手順

  • CatalogSource オブジェクトを編集し、spec.grpcPodConfig セクションを追加または変更して、以下を含めます。

      grpcPodConfig:
        priorityClassName: <priority_class>

    <priority_class> は次のいずれかです。

    • Kubernetes によって提供されるデフォルトの優先度クラスの 1 つ: system-cluster-critical または system-node-critical
    • デフォルトの優先度を割り当てる空のセット ("")
    • 既存およびカスタム定義の優先度クラス
注記

以前は、オーバーライドできる唯一の Pod スケジューリングパラメーターは priorityClassName でした。これは、operatorframework.io/priorityclass アノテーションを CatalogSource オブジェクトに追加することによって行われました。以下に例を示します。

apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: example-catalog
  namespace: openshift-marketplace
  annotations:
    operatorframework.io/priorityclass: system-cluster-critical

CatalogSource オブジェクトがアノテーションと spec.grpcPodConfig.priorityClassName の両方を定義する場合、アノテーションは設定パラメーターよりも優先されます。

4.11.4. カタログソース Pod の Toleration のオーバーライド

前提条件

  • spec.image を持つソースタイプ grpcCatalogSource オブジェクトが定義されている。

手順

  • CatalogSource オブジェクトを編集し、spec.grpcPodConfig セクションを追加または変更して、以下を含めます。

      grpcPodConfig:
        tolerations:
          - key: "<key_name>"
            operator: "<operator_type>"
            value: "<value>"
            effect: "<effect>"
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.