OptimizerServiceGroup カスタム・リソース・パラメーター

必要に応じて、YAML でパラメーターを構成して、独自の OptimizerServiceGroup カスタム・リソースをセットアップします。 設定は必須ではありませんOptimizerServiceGroupインストールするSterling Intelligent Promising最適化サービスなしでインストールを続行できます。

以下の表では、 OptimizerServiceGroupのメタデータ、仕様について説明します。
注: デフォルトでは、 OptimizerServiceGroup で定義された image 仕様が、 SIPEnvironmentで定義されたグローバル・イメージ仕様よりも優先されます。 イメージ・パラメーターはデフォルトで表示されるため、デフォルトのイメージ・パラメーターをオーバーライドするには、必要に応じてパラメーターを更新します。
表 1. OptimizerServiceGroup メタデータ
プロパティー デフォルト値 値タイプ 必須 説明
name   ストリング はい サービス・グループをデプロイする環境を指定します。 サービス・グループは、以下の 3 つのモードでデプロイできます。
開発モード
このモードでは、すべてのサービスを 1 つのデプロイメントにデプロイできます。 開発環境にサービス・グループをデプロイするには、 name の値を devに設定します。
実動モード
このモードでは、必要な各サービスを単一のデプロイメントにデプロイできます。 実稼働環境にサービス・グループをデプロイするには、 name の値を productionに設定します。
フレキシブル・モード
このモードでは、実行したくないサービスを再グループ化または削除することができます。 フレキシブル・モードでサービス・グループをデプロイするには、 namedev または production以外の任意の値に指定します。 このモードでは、デフォルトで production 環境にデータが取り込まれます。
namespace   ストリング はい OptimizerServiceGroup を作成する名前空間を指定します。
表 2. OptimizerServiceGroup 仕様
プロパティー デフォルト値 値タイプ 必須 説明
active false ブール値 はい 最適化のためにサービス・グループをアクティブ化し、クラスター内にリソースとデプロイメントを作成するには、 active プロパティーを true に指定します。
重要: 複数のサービス・グループを作成できますが、名前空間でアクティブにできるのは一度に 1 つのみです。 新規サービス・グループを活動化するには、アクティブ・サービス・グループを非活動化してください。 詳しくは、 アクティブ・サービス・グループの非アクティブ化を参照してください。
logLevel   ストリング いいえ 最適化サービス・グループのロギング・レベルを指定します。 使用可能なオプションは OFF, FATAL, ERROR, WARN, INFO, DEBUG,TRACE, ALLです。
pod.podAnnotations   オブジェクト いいえ ポッドまたはデプロイメントの追加のアノテーションをキーと値のペアとして指定します。
pod.podLabels   オブジェクト いいえ ポッドまたはデプロイメントの追加ラベルをキーと値のペアで指定します。
覚えておいてください: 以下の3つのラベルは、オペレーターが内部的に使用するものであるため、上書きしないでください。
  • app
  • type
  • internal.sip.ibm.com/apps
defaultReplicas 1 整数 はい OptimizerServiceGroupのレプリカの数を指定します。
defaultresources 開発の場合:
制限:
CPU= 1
メモリー = 1536Mi
要求:
CPU= 100m
メモリー = 1Gi
メモリー = 1Gi
実動の場合、クラスター構成に基づいて CPU とメモリーの制限と要求を指定します。
オブジェクト はい CPUとメモリのリソース要求と制限を指定します。OptimizerServiceGroup
image   オブジェクト いいえ image プロパティーの指定はオプションです。 詳細については、リストOptimizerServiceGroup画像のプロパティ
image.imagePullSecrets   アレイ いいえ イメージをプルするための、同じ名前空間内のシークレットへの参照。 これは、 name-value pairとして参照できます。
kpiProcessorService   オブジェクト いいえ Optimizaion サービスに固有のプロパティー」の説明に従って、KPI プロセッサー・サービスのプロパティーを指定します。
optimizationService   オブジェクト いいえ Optimizaion サービスに固有のプロパティーの説明に従って、オーダー最適化サービスのプロパティーを指定します。
configurationService   オブジェクト いいえ Optimizaion サービスに固有のプロパティー」の説明に従って、構成サービス・プロパティーを指定します。
requestOrganizerService   オブジェクト いいえ Optimizaion サービスに固有のプロパティーの説明に従って、要求オーガナイザー・サービスのプロパティーを指定します。
dataCaptureService   オブジェクト いいえ Optimizaion サービスに固有のプロパティーの説明に従って、データ・キャプチャー・サービスのプロパティーを指定します。
elasticSearchDataProcessor   オブジェクト いいえ Optimizaion サービスに固有のプロパティーの説明に従って、 Elasticsearch データ・プロセッサー・サービスのプロパティーを指定します。
errorProcessorService   オブジェクト いいえ Optimizaion サービスに固有のプロパティー」の説明に従って、エラー・プロセッサー・サービスのプロパティーを指定します。
jobs <自動入力された求人のリスト オブジェクト   サービスグループのカスタムリソースに入力されるジョブのリスト。 オプティマイザーでは、 jobs プロパティは elasticSearchDataProcessor に対してのみ利用可能です。 ジョブの一般的なプロパティのリストについては、 ジョブ固有のプロパティを参照してください。
topology アレイ いいえ サーバーに使用するTopology Spread Constraintsの名前を指定する。 例えば、 topology: [constraint1, constraint2]

サーバーまたはジョブで定義されたトポロジーは、個々のサービスグループで定義されたものよりも優先されます。

詳細については、 サーバーからTopology Spread Constraintsを呼び出す例を参照してください。

Optimizaion サービスに固有のプロパティー

以下の表にリストされているプロパティーの <service_name> の値は、使用しているサービスによって異なります。

最適化サービスを選択すると、アプリケーション・サーバーに自動的にデータが取り込まれます。 アプリケーションサーバー、レプリカ、リソースの場合、 <service_name> の値は、 optimizationServiceconfigurationService の値のいずれかになります。

バックエンド・サーバーには、選択された最適化サービスのデータが自動的に取り込まれます。 <service_name> の値は、 optimizationServicekpiProcessorServicerequestOrganizerServicedataCaptureServiceelasticSearchDataProcessor、および errorProcessorServiceのいずれかの値になります。

テーブル3。 Optimization service プロパティー
サーバーのタイプ プロパティー デフォルト値 値タイプ 必須 説明
アプリケーション・サーバー <service_name>.appServers.active はい ブール値 いいえ このフラグは、デフォルトでは true に設定され、サーバーまたはサーバーのグループを活動化します。 非アクティブ化するには、 falseに設定します。
<service_name>.appServers.affinityAndTolerations   ストリング いいえ SIPEnvironmentで定義されている affinityAndTolerations の名前を使用します。
<service_name>.appServers.horizontalPodAutoscaler   ストリング いいえ 使用する定義済みの Horizontal Pod Autoscaler の名前を指定します。 詳しくは、 horizontalPodAutoscalers パラメータを参照。
<service_name>.appServers.groupName グループ名は、アプリケーション・サーバーごとに事前定義されています。 ストリング   これは、サービスによって自動的に取り込まれるアプリケーション・サーバーのグループ名です。 必要に応じてグループ名を変更できます。

Kubernetesでは、ラベル値の文字数制限が63文字であるため、長いリソース名でデプロイエラーが発生することが多い。 エラーを回避するために、グループ名を使用して配置を識別できるため、柔軟で整 理された配置管理が可能になります。 詳しくは、 グループ名を使用して長いリソース名によるエラーを回避するを参照してください。

<service_name>.appServers.pod.podAnnotations   オブジェクト いいえ ポッドまたはデプロイメントの追加のアノテーションをキーと値のペアとして指定します。
<service_name>.appServers.pod.podLabels   オブジェクト いいえ ポッドまたはデプロイメントの追加ラベルをキーと値のペアで指定します。
覚えておいてください: 以下の3つのラベルは、オペレーターが内部的に使用するものであるため、上書きしないでください。
  • app
  • type
  • internal.sip.ibm.com/apps
<service_name>.appServers.names < 定義済みサーバーのリスト> アレイ   アプリケーション・サーバーのリストは、カスタム・リソースで指定した環境 (開発または実稼働) に基づいて自動的に取り込まれます。
<service_name>.appServers.replicaCount 1 整数 はい サービスのレプリカの数を指定します。
<service_name>.appServers.resources 開発の場合:
制限:
CPU= 1
メモリー = 1536Mi
要求:
CPU= 100m
メモリー = 1Gi
メモリー = 1Gi
実動の場合、クラスター構成に基づいて CPU とメモリーの制限と要求を指定します。
オブジェクト はい サービスの CPU およびメモリーのリソース要求と制限を指定します。
<service_name>.appServers.property.envVars ストリング いいえ 属性 serverProperties.envVars[].groupName または serverProperties.envVars[].derivatives[].groupNameの envVars の名前を使用します。
<service_name>.appServers.property.jvmArgs ストリング いいえ 属性 serverProperties.jvmArgs[].groupName または serverProperties.jvmArgs[].derivatives[].groupNameの jvmArgs の名前を使用します。
<service_name>.appServers.image.tag   ストリング いいえ このプロパティを指定して、個々のサーバーの画像タグを定義します。 設定されていない場合、サービスグループまたはグローバル設定のSIPEnvironmentで定義されているタグが使用される。 これにより、各サーバーインスタンスで使用されるイメージバージョンを正確に制御することができます。
<service_name>.appServers.image.pullPolicy   ストリング いいえ このプロパティを指定して、個々のサーバーの画像プルポリシーを定義します。 設定されていない場合、SIPEnvironmentのサービスグループまたはグローバルコンフィギュレーションで定義されたポリシーが使用される。 これはサーバーインスタンスの画像プル動作を制御します。
<service_name>.appServers.topology   アレイ いいえ  
レプリカとリソース <service_name>.defaultReplicas 1 整数 はい サービスのレプリカの数を指定します。
<service_name>.affinityAndTolerations   ストリング いいえ SIPEnvironmentで定義されている affinityAndTolerations の名前を使用します。
<service_name>.horizontalPodAutoscaler   ストリング いいえ 使用する定義済みの Horizontal Pod Autoscaler の名前を指定します。 詳しくは、 horizontalPodAutoscalers パラメータを参照。
<service_name>.defaultresources 開発の場合:
制限:
CPU= 1
メモリー = 1536Mi
要求:
CPU= 100m
メモリー = 1Gi
オブジェクト はい サービスの CPU およびメモリーのリソース要求と制限を指定します。
<service_name>.property.envVars ストリング いいえ 属性 serverProperties.envVars[].groupName または serverProperties.envVars[].derivatives[].groupNameの envVars の名前を使用します。
<service_name>.property.jvmArgs   ストリング いいえ 属性 serverProperties.jvmArgs[].groupName または serverProperties.jvmArgs[].derivatives[].groupNameの jvmArgs の名前を使用します。
バックエンド・サーバー <service_name>.backendServers.active はい ブール値 いいえ このフラグは、デフォルトでは true に設定され、サーバーまたはサーバーのグループを活動化します。 非アクティブ化するには、 falseに設定します。
<service_name>.backendServers.affinityAndTolerations   ストリング いいえ SIPEnvironmentで定義されている affinityAndTolerations の名前を使用します。
<service_name>.backendServers.horizontalPodAutoscaler   ストリング いいえ 使用する定義済みの Horizontal Pod Autoscaler の名前を指定します。 詳しくは、 horizontalPodAutoscalers パラメータを参照。
<service_name>.backendServers.groupName グループ名は、アプリケーション・サーバーごとに事前定義されています。 ストリング   これは、サービスによって自動的に取り込まれるバックエンド・サーバーのグループ名です。 必要に応じてグループ名を変更できます。

Kubernetesでは、ラベル値の文字数制限が63文字であるため、長いリソース名でデプロイエラーが発生することが多い。 エラーを回避するために、グループ名を使用して配置を識別できるため、柔軟で整 理された配置管理が可能になります。 詳しくは、 グループ名を使用して長いリソース名によるエラーを回避するを参照してください。

<service_name>.backendServers.replica 1 整数 はい サービスのレプリカの数を指定します。
<service_name>.backendServers.pod.podAnnotations   オブジェクト いいえ ポッドまたはデプロイメントの追加のアノテーションをキーと値のペアとして指定します。
<service_name>.backendServers.pod.podLabels   オブジェクト いいえ ポッドまたはデプロイメントの追加ラベルをキーと値のペアで指定します。
覚えておいてください: 以下の3つのラベルは、オペレーターが内部的に使用するものであるため、上書きしないでください。
  • app
  • type
  • internal.sip.ibm.com/apps
<service_name>.backendServers.resources 開発の場合:
制限:
CPU= 1
メモリー = 1536Mi
要求:
CPU= 100m
メモリー = 1Gi
メモリー = 1Gi
実動の場合、クラスター構成に基づいて CPU とメモリーの制限と要求を指定します。
オブジェクト はい サービスの CPU およびメモリーのリソース要求と制限を指定します。
<service_name>.backendServers.property.envVars ストリング いいえ 属性 serverProperties.envVars[].groupName または serverProperties.envVars[].derivatives[].groupNameの envVars の名前を使用します。
<service_name>.backendServers.property.jvmArgs ストリング いいえ 属性 serverProperties.jvmArgs[].groupName または serverProperties.jvmArgs[].derivatives[].groupNameの jvmArgs の名前を使用します。
<service_name>.backendServers.image.tag   ストリング いいえ このプロパティを指定して、個々のサーバーの画像タグを定義します。 設定されていない場合、サービスグループまたはグローバル設定のSIPEnvironmentで定義されているタグが使用される。 これにより、各サーバーインスタンスで使用されるイメージバージョンを正確に制御することができます。
<service_name>.backendServers.image.pullPolicy   ストリング いいえ このプロパティを指定して、個々のサーバーの画像プルポリシーを定義します。 設定されていない場合、SIPEnvironmentのサービスグループまたはグローバルコンフィギュレーションで定義されたポリシーが使用される。 これはサーバーインスタンスの画像プル動作を制御します。
<service_name>.appServers.topology   アレイ いいえ  

職種固有のプロパティ

プロパティー デフォルト値 値タイプ 必須 説明
name   アレイ はい サービスに含まれる仕事名のリストである。
affinityAndTolerations ストリング いいえ SIPEnvironmentで定義されている affinityAndTolerations の名前を使用します。 デフォルトでは、サーバーで定義された affinityAndTolerations が、個々のサービスグループで定義された affinityAndTolerations よりも優先される。
horizontalPodAutoscaler   ストリング いいえ 使用する定義済みの Horizontal Pod Autoscaler の名前を指定します。 詳細については、 horizontalPodAutoscalers パラメータを参照してください。
logLevel INFO 整数 いいえ 個々のサーバー・レベルでログ・レベルを上書きするには、このプロパティを指定します。 使用可能なオプションは OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALLです。 個々のサーバーレベルで設定されていない場合は、サービスグループレベルで定義されているログレベルが使用されます。 サービスグループのログレベルも定義されていない場合、 SIPEnvironmentのグ ローバル設定が使用される。 いずれも設定されていない場合、デフォルトのログレベルは INFO です。 これにより、各サーバーインスタンスのロギングをカスタマイズして制御できる。
jobBackoffLimit 4 整数 いいえ 連続したポッドの失敗の後、ジョブを失敗としてマークするまでの再試行回数を指定します。
pod.podAnnotations   オブジェクト いいえ ポッドまたはデプロイメントの追加のアノテーションをキーと値のペアとして指定します。
pod.podLabels   オブジェクト いいえ ポッドまたはデプロイメントの追加ラベルをキーと値のペアで指定します。
覚えておいてください: 以下の3つのラベルは、オペレーターが内部的に使用するものであるため、上書きしないでください。
  • app
  • type
  • internal.sip.ibm.com/apps
resources 開発者向け:
制限:
CPU= 1
Memory= 1536Mi
リクエスト:
CPU= 100m
Memory= 1Gi
productionの場合は、クラスタ構成に基づいて、CPUとメモリの制限と要求を指定します。
  いいえ サーバーのCPUとメモリリソースの要求と制限を指定します。
property.envVars ストリング いいえ 属性 serverProperties.envVars[].groupName または serverProperties.envVars[].derivatives[].groupNameの envVars の名前を使用します。
property.jvmArgs ストリング いいえ 属性 serverProperties.jvmArgs[].groupName または serverProperties.jvmArgs[].derivatives[].groupNameの jvmArgs の名前を使用します。
topology アレイ いいえ サーバーに使用するTopology Spread Constraintsの名前を指定する。 例えば、 topology: [constraint1, constraint2]

サーバーまたはジョブで定義されたトポロジーは、個々のサービスグループで定義されたものよりも優先されます。

詳細については、 サーバーからTopology Spread Constraintsを呼び出す例を参照してください。

アクティブ・サービス・グループの非アクティブ化

アクティブ・サービス・グループを非アクティブ化するということは、それが作成された方法でそれを削除することを意味します。 例:
  • サービス・グループが SIPEnvironmentの外部で作成されている場合は、 SIPEnvironmentの外部からのみ削除できます。 この場合、サービス・グループを非アクティブにするには、 active プロパティーを false に設定します。
  • サービス・グループが SIPEnvironment内に作成されている場合、 SIPEnvironmentからのみ削除できます。 この場合は、以下のいずれかのアクションを実行します。
    • SIPEnvironmentからサービス・グループを削除します。
    • 必要に応じてサービス・グループを別のモード (開発または実動) に更新し、既存のサービス・グループを自動的に非アクティブ化します。

長いリソース名によるエラーを避けるためにグループ名を使用する

ラベルやセレクタに「metadata.labels」や「spec.selector.matchLabels」など、63 文字の制限を超える可能性のある長い配置名を直接使用する代わりに、配置を表す簡潔なグループ名を割り当てます。 このアプローチにより、ラベル管理がよりシンプルになり、グループ内で特定の配備コンフィギュレーションが整理される。

例:
optimizerServiceGroup:
  - active: true
    groupName: <deployment-name>
    names:
      - "iv-supply-breakup-snapshot-source-stream-flatten:4"
    replicaCount: 4

オプティマイザー・ユーザーのためのオンボーディング・インストラクション

Optimizer にオンボード接続したら、以下の businessSettings プロパティを、ビジネスのユースケースに適した値で設定します。 この設定により、オプティマイザーが正しいローカライズ、単位測定、ビジネスルールで動作することが保証されます。 詳細については、 Optimizerユーザーのためのオンボーディング手順を参照してください。