3.3. サポートサービスの管理


このセクションでは、OpenShift Serverless Logic に不可欠なサポートサービスの概要を説明します。これは、OpenShift Serverless Logic Operator を使用した Data Index サービスおよび Job Service のサポートサービスの設定およびデプロイに重点を置いています。

通常の OpenShift Serverless Logic インストールでは、ワークフローの実行が正常に実行されるように両方のサービスをデプロイする必要があります。Data Index サービスを使用すると、効率的なデータ管理が可能になりますが、Job Service は信頼性の高いジョブ処理を実現します。

3.3.1. サポートサービスとワークフローのインテグレーション

サポートサービスを特定の namespace にデプロイする場合、有効または無効のデプロイメントを選択できます。有効化されたデプロイメントは、OpenShift Serverless Logic Operator に対し、namespace 内で preview または gitops プロファイルを使用するワークフローのデプロイメントを自動的に検出し、それらをサービスに接続するよう設定する指示を送ります。

たとえば、Data Index サービスが有効化されている場合、ステータス変更イベントを送信するようにワークフローが自動的に設定されています。同様に Job Service を有効にすると、ワークフローでタイムアウトが必要なたびにジョブが作成されます。OpenShift Serverless Logic Operator は、イベントを Data Index サービスに送信するように Job Service を設定し、サービス間のシームレスなインテグレーションを容易にします。

OpenShift Serverless Logic Operator はサポートサービスをデプロイするだけでなく、ワークフローが正常に実行されるように他の必要な設定も管理します。これらの設定はすべて自動的に処理されます。SonataFlowPlatform CR でサポートサービス設定のみを提供する必要があります。

注記

サポートサービスの 1 つだけをデプロイすること、または無効化されたデプロイメントの使用は、高度なユースケースです。標準のインストールでは、スムーズなワークフローを実行するには、両方のサービスを有効にする必要があります。

3.3.2. SonataFlowPlatform CR を使用したサポートサービスのデプロイメント

サポートサービスをデプロイするには、SonataFlowPlatform カスタムリソース (CR) の spec.services セクション内で dataIndex および jobService サブフィールドを設定します。この設定は、SonataFlowPlatform CR が適用される際に、各サービスをデプロイするように OpenShift Serverless Logic Operator に指示します。

サービスの各設定は独立して処理され、SonataFlowPlatform CR の他の設定と共にこれらの設定をカスタマイズできます。

サポートサービスのデプロイは、以下のスキャフォールディングの設定例を参照してください。

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    dataIndex: 
1

      enabled: true 
2

      # Specific configurations for the Data Index Service
      # might be included here
    jobService: 
3

      enabled: true 
4

      # Specific configurations for the Job Service
      # might be included here
Copy to Clipboard Toggle word wrap
1
Data Index サービス設定フィールド。
2
enabled: true を設定すると、Data Index サービスがデプロイされます。false に設定するか、省略すると、デプロイメントは無効になります。デフォルト値は false です。
3
Job Service 設定フィールド。
4
enabled: true を設定すると、Job Service がデプロイされます。false に設定するか、省略すると、デプロイメントは無効になります。デフォルト値は false です。

3.3.3. サポートサービスのスコープ

SonataFlowPlatform カスタムリソース (CR) は、特定の namespace 内でのサポートサービスのデプロイメントを有効にします。つまり、自動的に設定されたサポートサービスとワークフロー通信はすべて、デプロイされたプラットフォームの namespace に制限されます。

この機能は、異なるワークフローセットごとにサポートサービスの個別のインスタンスが必要な場合に特に有用です。たとえば、ワークフローやサポートサービスと共にアプリケーションを分離してデプロイすることで、他のデプロイメントからの独立性を保つことができます。

3.3.4. サポートサービスの永続性設定

OpenShift Serverless Logic のサポートサービスの永続性設定は、環境のニーズに応じて、一時的または PostgreSQL のいずれかの設定になります。一時的な永続性は開発とテストに適していますが、実稼働環境には PostgreSQL 永続性が推奨されます。

3.3.4.1. 一時的な永続性設定

一時的な永続性は、各サービス専用の組み込み PostgreSQL データベースを使用します。OpenShift Serverless Logic Operator は、すべてのサービスの再起動でこのデータベースを再作成し、開発およびテストの目的でのみ適切になるようにします。次の SonataFlowPlatform CR 以外の追加の設定は必要ありません。

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    dataIndex:
      enabled: true
      # Specific configurations for the Data Index Service
      # might be included here
    jobService:
      enabled: true
      # Specific configurations for the Job Service
      # might be included here
Copy to Clipboard Toggle word wrap

3.3.4.2. PostgreSQL の永続性設定

PostgreSQL の永続性の場合、クラスターに PostgreSQL サーバーインスタンスをセットアップする必要があります。このインスタンスの管理は、OpenShift Serverless Logic Operator 制御とは独立して維持されます。サポートサービスを PostgreSQL サーバーに接続するには、適切なデータベース接続パラメーターを設定する必要があります。

次の例を使用して、SonataFlowPlatform CR で PostgreSQL の永続性を設定できます。

PostgreSQL の永続性設定の例

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    dataIndex:
      enabled: true
      persistence:
        postgresql:
          serviceRef:
            name: postgres-example 
1

            namespace: postgres-example-namespace 
2

            databaseName: example-database 
3

            databaseSchema: data-index-schema 
4

            port: 1234 
5

          secretRef:
            name: postgres-secrets-example 
6

            userKey: POSTGRESQL_USER 
7

            passwordKey: POSTGRESQL_PASSWORD 
8

    jobService:
      enabled: true
      persistence:
        postgresql:
        # Specific database configuration for the Job Service
        # might be included here.
Copy to Clipboard Toggle word wrap

1
PostgreSQL データベースサーバーに接続するためのサービスの名前。
2
オプション: PostgreSQL Service の namespace を定義します。デフォルトは SonataFlowPlatform の namespace です。
3
サポートサービスデータを格納する PostgreSQL データベースの名前を定義します。
4
オプション: サポートサービスデータを格納するためのスキーマを指定します。デフォルト値は SonataFlowPlatform 名で、接尾辞には -data-index-service or -jobs-service が付いています。たとえば、sonataflow-platform-example-data-index-service などです。
5
オプション: PostgreSQL Service と接続するポート番号。デフォルト値は 5432 です。
6
データベースアクセスのユーザー名およびパスワードが含まれるシークレットの名前を定義します。
7
データベースに接続するためのユーザー名を含むシークレットのキーの名前を定義します。
8
データベースに接続するためのパスワードを含むシークレットのキーの名前を定義します。
注記

それぞれの persistence フィールドを使用して、各サービスの永続性を個別に設定できます。

次のコマンドを実行して、PostgreSQL にアクセスするためのシークレットを作成します。

$ oc create secret generic <postgresql_secret_name> \
  --from-literal=POSTGRESQL_USER=<user> \
  --from-literal=POSTGRESQL_PASSWORD=<password> \
  -n <namespace>
Copy to Clipboard Toggle word wrap

3.3.4.3. 一般的な PostgreSQL の永続性設定

OpenShift Serverless Logic Operator は、サポートサービスを spec.persistence フィールドで設定された共通の PostgreSQL サーバーに自動的に接続します。

ルールの場合、以下の優先順位が適用されます。

  • サポートするサービス (例: services.dataIndex.persistence) に特定の永続性を設定すると、その設定が使用されます。
  • サービスに永続性を設定しない場合、システムは現在のプラットフォームから共通の永続性設定を使用します。
注記

共通の PostgreSQL 設定を使用する場合、各サービススキーマは SonataFlowPlatform 名として自動的に設定され、-data-index-service または -jobs-service の接尾辞が設定されます (例: sonataflow-platform-example-data-index-service)。

3.3.5. 高度なサポートサービス設定

サポートサービス向けに高度な設定を適用する必要がある場合は、SonataFlowPlatform カスタムリソース (CR) の podTemplate フィールドを使用します。このフィールドでは、レプリカの数、環境変数、コンテナーイメージ、初期化オプションなどの設定を指定して、サービス Pod のデプロイメントをカスタマイズできます。

次の例を使用して、サービスの高度な設定を行うことができます。

Data Index サービスの高度な設定例

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    # This can be either 'dataIndex' or 'jobService'
    dataIndex:
      enabled: true
      podTemplate:
        replicas: 2 
1

        container: 
2

          env: 
3

            - name: <any_advanced_config_property>
              value: <any_value>
          image: 
4

        initContainers: 
5
Copy to Clipboard Toggle word wrap

注記

要件に応じて、'services' フィールドを 'dataIndex' または 'jobService' に設定できます。設定の残りの部分は同じままとなります。

1
レプリカの数を定義します。デフォルト値は 1 です。jobService の場合、この値はシングルトンサービスとして動作するため、常に 1 にオーバーライドされます。
2
サービスを実行しているコンテナーの特定の設定を保持します。
3
環境変数を指定して、サービスプロパティーを微調整できます。
4
サービスのコンテナーイメージを設定します。これは、イメージを更新またはカスタマイズする必要がある場合に役立ちます。
5
Pod の init コンテナーを設定します。これは、メインコンテナーが起動する前に前提条件をセットアップする際に役立ちます。
注記

podTemplate フィールドにより、各サポートサービスのデプロイメントを柔軟に調整できます。これは標準の PodSpec API に準拠します。つまり、同じ API 検証ルールがこれらのフィールドに適用されます。

3.3.6. クラスタースコープのサポートサービス

SonataFlowClusterPlatform カスタムリソース (CR) を使用して、さまざまな namespace にまたがるワークフローで使用できるクラスター全体のサポートサービスのセットを定義できます。既存の namespace 固有の SonataFlowPlatform CR を参照すると、これらのサービスの使用をクラスター全体で拡張できます。

次の基本設定の例を使用すると、任意の namespace にデプロイされたワークフローが、example-namespace などの特定の namespace にデプロイされたサポートサービスを利用できるようになります。

SonataFlowClusterPlatform CR の例

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowClusterPlatform
metadata:
  name: cluster-platform
spec:
  platformRef:
    name: sonataflow-platform-example 
1

    namespace: example-namespace 
2
Copy to Clipboard Toggle word wrap

1
サポートサービスを管理するすでにインストールされている SonataFlowPlatform CR の名前を指定します。
2
サポートサービスを管理する SonataFlowPlatform CR の namespace を指定します。
注記

SonataFlowPlatform.spec.services でその namespace を設定することにより、これらのクラスター全体のサービスを任意の namespace 内でオーバーライドできます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat