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