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) を管理します。OperatorHub は CatalogSource オブジェクトを管理します。
CatalogSource オブジェクトに永続的な変更を適用するには、まずデフォルトの CatalogSource オブジェクトを無効にする必要があります。
手順
すべてのデフォルトの
CatalogSourceオブジェクトをローカルレベルで無効にするには、次のコマンドを入力します。oc patch operatorhub cluster -p '{"spec": {"disableAllDefaultSources": true}}' --type=merge$ oc patch operatorhub cluster -p '{"spec": {"disableAllDefaultSources": true}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記また、デフォルトの
OperatorHubCR を設定して、すべてのCatalogSourceオブジェクトを無効にするか、または特定のオブジェクトを無効にすることもできます。
4.11.2. カタログソース Pod のノードセレクターのオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
spec.imageを持つソースタイプgrpcのCatalogSourceオブジェクトが定義されている。
手順
CatalogSourceオブジェクトを編集し、spec.grpcPodConfigセクションを追加または変更して、以下を含めます。grpcPodConfig: nodeSelector: custom_label: <label>grpcPodConfig: nodeSelector: custom_label: <label>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <label>は、カタログソース Pod がスケジュールに使用するノードセレクターのラベルです。
4.11.3. カタログソース Pod の優先度クラス名のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
spec.imageを持つソースタイプgrpcのCatalogSourceオブジェクトが定義されている。
手順
CatalogSourceオブジェクトを編集し、spec.grpcPodConfigセクションを追加または変更して、以下を含めます。grpcPodConfig: priorityClassName: <priority_class>grpcPodConfig: priorityClassName: <priority_class>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <priority_class>は次のいずれかです。-
Kubernetes によって提供されるデフォルトの優先度クラスの 1 つ:
system-cluster-criticalまたはsystem-node-critical -
デフォルトの優先度を割り当てる空のセット (
"") - 既存およびカスタム定義の優先度クラス
-
Kubernetes によって提供されるデフォルトの優先度クラスの 1 つ:
以前は、オーバーライドできる唯一の Pod スケジューリングパラメーターは priorityClassName でした。これは、operatorframework.io/priorityclass アノテーションを CatalogSource オブジェクトに追加することによって行われました。以下に例を示します。
CatalogSource オブジェクトがアノテーションと spec.grpcPodConfig.priorityClassName の両方を定義する場合、アノテーションは設定パラメーターよりも優先されます。
4.11.4. カタログソース Pod の Toleration のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
spec.imageを持つソースタイプgrpcのCatalogSourceオブジェクトが定義されている。
手順
CatalogSourceオブジェクトを編集し、spec.grpcPodConfigセクションを追加または変更して、以下を含めます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow