3.4. Fuse Online Pod の設定
Fuse Online カスタムリソースでノードのアフィニティーおよび許容オプションを設定して、Fuse Online インフラストラクチャーコンポーネントおよびインテグレーション Pod を OpenShift クラスター内のノードに配置するように設定できます。nodeAffinity オプションを使用すると、配置先のノードのグループに対して Fuse Online Pod のアフィニティーを指定できます。tolerations オプションを使用すると、Fuse Online Pod が実行されるノードを制御し、他のワークロードがそれらのノードを使用しないようにすることができます。
これらのオプションは、Fuse Online のインストール前または後に Fuse Online カスタムリソースを編集して設定します。
インテグレーションデプロイメントとは別に、インフラストラクチャーコンポーネントデプロイメントのノードアフィニティーまたは許容の設定を指定します。
infraScheduling-infraSchedulingオプションを指定して、これらの Fuse Online インフラストラクチャーデプロイメントのノードのアフィニティーおよび許容を設定します。-
syndesis-db -
syndesis-meta -
syndesis-prometheus syndesis-ui注記:
syndesis-operatorデプロイメントは Fuse Online 管理コンポーネントであるため、ノードのアフィニティーまたは許容の変更による影響を受けません。
-
integrationScheduling- すべての Fuse Online インテグレーションデプロイメントのノードのアフィニティーおよび許容を設定するには、integrationSchedulingオプションを指定します。注記: Fuse Online デプロイメントがインテグレーションデプロイメントかどうかを知るには、デプロイメント名を確認します。
oc get podsコマンドを使用して、実行中のデプロイメントのリストを表示できます。デプロイメント名に接頭辞-iが含まれる場合、これはインテグレーションデプロイメントになります (例:i-my-integration)。
以下の手順では、oc patch コマンドを使用してカスタムリソースを編集する方法を説明します。この他にも、以下のトピックで説明されているような方法で、カスタムリソースを編集できます。
- Fuse Online がすでにインストールされている場合は、Fuse Online の設定変更に関する一般的な手順 の手順にしたがって、カスタムリソースを開きます。
Fuse Online がインストールされていない場合は、OCP のバージョンに応じて、以下の手順にしたがってカスタムリソースを開きます。
- OCP 4.x の場合: Fuse Online インスタンスを OpenShift 4.x プロジェクトに追加
- OCP 3.11 の場合: Fuse Online をインストールする前にデフォルトのカスタムリソースファイルを編集
前提条件
- オンサイトで OCP に Fuse Online がインストールされている。
-
ocクライアントツールがインストール済みであり、Fuse Online がインストールされている OCP クラスターに接続されている。
手順
以下の構文で
oc patchコマンドを使用して 許容 (Toleration) を設定します。Fuse Online インフラストラクチャーコンポーネントのデプロイメントにはinfraSchedulingを、Fuse Online インテグレーションのデプロイメントにはintegrationSchedulingを指定します。oc patch syndesis/app --type=merge -p '{"spec":{"infraScheduling"|"infraScheduling":{"tolerations":[{"key":"_value1_","operator":"_value2_","effect":"_value3_"},{"key":"_value4_","operator":"_value5_","effect":"_value6_"}]}}}'たとえば、以下のコマンドは、Fuse Online インフラストラクチャーコンポーネントに許容を追加します。
oc patch syndesis/app --type=merge -p '{"spec":{"infraScheduling":{"tolerations":[{"key":"tol_1","operator":"Equal","effect":"NoSchedule"},{"key":"tol_2","operator":"Equal","value":"value2","effect":"NoSchedule"}]}}}'以下の構文で
oc patchコマンドを使用して、ノードのアフィニティー を設定します。Fuse Online インフラストラクチャーコンポーネントのデプロイメントにはinfraSchedulingを、Fuse Online インテグレーションのデプロイメントにはintegrationSchedulingを指定します。oc patch syndesis/app --type=merge -p '{"spec":{"infraScheduling"|"infraScheduling":{"affinity":{"nodeAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":_value1_,"preference":{"matchExpressions":[{"key":"_value1_","operator":"_value2_","values":["_value3_","_value4_"]}]}}]}}}'たとえば、以下のコマンドは nodeAffinity を Fuse Online インフラストラクチャーコンポーネントとインテグレーションの両方に設定します。
oc patch syndesis/app --type=merge -p '{"spec":{"infraScheduling":{"affinity":{"nodeAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":11,"preference":{"matchExpressions":[{"key":"_affinity","operator":"In","values":["foo","bar"]}]}}]}}},"integrationScheduling":{"affinity":{"nodeAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":22,"preference":{"matchExpressions":[{"key":"my_affinity2","operator":"In","values":["foo","bar"]}]}}]}}}}}'設定を削除するには、以下のコマンド例のように、
oc patchコマンドでremoveオプションを使用します。以下のコマンド例は、Fuse Online インテグレーションの nodeAffinity から
preferredDuringSchedulingIgnoredDuringExecution設定を削除します。oc patch syndesis/app --type=json -p '[{"op": "remove", "path": "/spec/integrationScheduling/affinity/nodeAffinity/preferredDuringSchedulingIgnoredDuringExecution" }]'以下の例では、Fuse Online インフラストラクチャーコンポーネントから許容を削除します。
oc patch syndesis/app --type=json -p '[{"op": "remove", "path": "/spec/infraScheduling/tolerations" }]'
関連情報
許容およびノードのアフィニティーに関する詳細は、OpenShift ドキュメントの Understanding node affinity および Controlling pod placement using node taints を参照してください。