9.2. OpenShift Serverless Logic Operator のバージョン 1.35.0 から 1.36.0 へのアップグレード
OpenShift Serverless Logic Operator をバージョン 1.35.0 から 1.36.0 にアップグレードできます。アップグレードプロセスには、既存のワークフローとサービスの準備、Operator の更新、アップグレード後のワークフローの復元が含まれます。
ワークフロープロファイルごとに、必要なアップグレード手順が異なります。各プロファイルの指示に注意深く従ってください。
9.2.1. アップグレードの準備 リンクのコピーリンクがクリップボードにコピーされました!
アップグレードプロセスを開始する前に、OpenShift Serverless Logic 環境をバージョン 1.35.0 から 1.36.0 にアップグレードする準備をする必要があります。
準備手順は次のとおりです。
- プロファイルに基づいてワークフローを削除またはスケーリングします。
- 必要なすべてのデータベースとリソースをバックアップします。
- すべてのカスタム設定の記録があることを確認します。
前提条件
-
cluster-admin権限でクラスターにアクセスできる。 - OpenShift Serverless Logic Operator がクラスターにインストールされている。
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- Operator のアップグレード用の OpenShift 管理コンソール にアクセスできる。
-
OpenShift CLI (
oc) がインストールされている。
9.2.1.1. dev プロファイルを使用したワークフローの削除 リンクのコピーリンクがクリップボードにコピーされました!
Operator をアップグレードする前に、dev プロファイルで実行されているワークフローを削除し、アップグレードの完了後に再デプロイする必要があります。
手順
-
SonataFlowカスタムリソース (CR)、ConfigMapリソース、その他の関連するカスタム設定など、必要なすべての Kubernetes リソースのバックアップがあることを確認します。 次のコマンドを実行してワークフローを削除します。
$ oc delete workflow <workflow_name> -n <target_namespace>
9.2.1.2. preview プロファイルを使用したワークフローの削除 リンクのコピーリンクがクリップボードにコピーされました!
Operator をアップグレードする前に、preview プロファイルで実行されているワークフローを削除する必要があります。アップグレードが完了したら、ワークフローを再デプロイする必要があります。
手順
- 永続性を使用している場合は、ワークフローデータベースをバックアップし、バックアップにデータベースオブジェクトとテーブルデータの両方が含まれていることを確認します。
-
SonataFlowカスタムリソース (CR)、ConfigMapリソース、その他の関連するカスタム設定など、必要なすべての Kubernetes リソースのバックアップがあることを確認します。 次のコマンドを実行してワークフローを削除します。
$ oc delete workflow <workflow_name> -n <target_namespace>
9.2.1.3. gitops プロファイルを使用してワークフローをスケールダウンする リンクのコピーリンクがクリップボードにコピーされました!
Operator をアップグレードする前に、gitops プロファイルで実行されているワークフローをスケールダウンし、アップグレードの完了後に再度スケールアップする必要があります。
手順
次の例に示すように、アップグレードする前に、
my-workflow.yamlカスタムリソース (CR) を変更し、各ワークフローを0にスケールダウンします。spec: podTemplate: replicas: 0 # ...次のコマンドを実行して、更新された
my-workflow.yamlCR を適用します。$ oc apply -f my-workflow.yaml -n <target_namespace>オプション: 次のコマンドを実行して、ワークフローを
0にスケーリングします。$ oc patch workflow <workflow_name> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 0}}}'
9.2.1.4. Data Index データベースのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
データの損失を防ぐために、アップグレードする前に Data Index データベースをバックアップする必要があります。
手順
次の点を確認して、Data Index データベースの完全バックアップを実行します。
- バックアップには、テーブルデータだけでなく、すべてのデータベースオブジェクトが含まれます。
- バックアップはセキュアなロケーションに保存されます。
9.2.1.5. Jobs Service データベースのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
ジョブスケジュールデータを維持するために、アップグレードする前に Jobs Service データベースをバックアップする必要があります。
手順
次の点を確認して、Jobs Service データベースの完全バックアップを実行します。
- バックアップには、テーブルデータだけでなく、すべてのデータベースオブジェクトが含まれます。
- バックアップはセキュアなロケーションに保存されます。
9.2.2. OpenShift Serverless Logic Operator の 1.36.0 へのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を実行して、OpenShift Serverless Logic Operator をバージョン 1.35.0 から 1.36.0 にアップグレードできます。
前提条件
-
cluster-admin権限でクラスターにアクセスできる。 - OpenShift Serverless Logic Operator がクラスターにインストールされている。
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- Operator のアップグレード用の OpenShift 管理コンソールにアクセスできる。
-
OpenShift CLI (
oc) がインストールされている。 - OpenShift Serverless Logic Operator バージョン 1.35.0 がインストールされています。
手順
次のコマンドを実行して、1.35.0 OpenShift Serverless Logic Operator の
ClusterServiceVersion(CSV) にパッチを適用し、デプロイメントラベルを更新します。$ oc patch csv logic-operator-rhel8.v1.35.0 \ -n openshift-serverless-logic \ --type=json \ -p='[ { "op": "replace", "path": "/spec/install/spec/deployments/0/spec/selector/matchLabels", "value": { "app.kubernetes.io/name": "sonataflow-operator" } }, { "op": "replace", "path": "/spec/install/spec/deployments/0/label", "value": { "app.kubernetes.io/name": "sonataflow-operator" } }, { "op": "replace", "path": "/spec/install/spec/deployments/0/spec/template/metadata/labels", "value": { "app.kubernetes.io/name": "sonataflow-operator" } } ]'次のコマンドを実行して、現在の Operator デプロイメントを削除します。
$ oc delete deployment logic-operator-rhel8-controller-manager -n openshift-serverless-logic-
Web コンソールで、Operators
OperatorHub Installed Operators ページに移動します。 - インストールされた Operator のリストで、OpenShift Serverless Logic Operator という名前の Operator を見つけてクリックします。
- OpenShift Serverless Logic Operator のバージョン 1.36.0 へのアップグレードを開始します。
検証
アップグレードを適用した後、次のコマンドを実行して、Operator が実行中であり、
Succeededフェーズにあることを確認します。$ oc get clusterserviceversion logic-operator-rhel8.v1.36.0出力例
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.36.0 OpenShift Serverless Logic Operator 1.36.0 logic-operator-rhel8.v1.35.0 Succeeded
9.2.3. アップグレードの最終処理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Serverless Logic Operator をバージョン 1.36.0 にアップグレードした後、ワークフローを復元またはスケーリングし、古いサービスをクリーンアップして、アップグレードプロセスを完了する必要があります。これにより、システムが新しいバージョンで正常に実行され、すべての依存コンポーネントが正しく設定されるようになります。
ワークフローとサービスのプロファイルに基づいて、以下の適切な手順に従ってください。
前提条件
-
cluster-admin権限でクラスターにアクセスできる。 - OpenShift Serverless Logic Operator がクラスターにインストールされている。
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- Operator のアップグレード用の OpenShift 管理コンソール にアクセスできる。
-
OpenShift CLI (
oc) がインストールされている。
9.2.3.1. Data Index のアップグレードの最終処理 リンクのコピーリンクがクリップボードにコピーされました!
Operator のアップグレード後、デプロイメントが Knative Eventing Kafka Broker を使用するように設定されている場合は、OpenShift Serverless Logic 1.35.0 バージョンで作成された古い data-index-process-definition トリガーを削除する必要があります。必要に応じて、古い ReplicaSet リソースも削除できます。
手順
次のコマンドを実行して、すべてのトリガーをリスト表示します。
$ oc get triggers -n <target_namespace>出力例
NAME BROKER SUBSCRIBER_URI data-index-jobs-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/jobs data-index-process-definition-473e1ddbb3ca1d62768187eb80de99bca example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/definitions data-index-process-error-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-instance-mul07f593476e8c14353a337590e0bfd5ae example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-node-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-state-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes data-index-process-variable-487e9a6777fff650e60097c9e17111aea25 example-broker http://sonataflow-platform-data-index-service.<target_namespace>.svc.cluster.local/processes jobs-service-create-job-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-jobs-service.<target_namespace>.svc.cluster.local/v2/jobs/events jobs-service-delete-job-a25c8405-f740-47d2-a9a5-f80ccaec2955 example-broker http://sonataflow-platform-jobs-service.<target_namespace>.svc.cluster.local/v2/jobs/events生成されたサンプル出力に基づいて、次のコマンドを実行して古い
data-index-process-definitionトリガーを削除します。$ oc delete trigger data-index-process-definition-473e1ddbb3ca1d62768187eb80de99bca -n <target_namespace>削除後、OpenShift Serverless Logic 1.36.0 と互換性のある新しいトリガーが自動的に作成されます。
オプション: 次のコマンドを実行して、古い
ReplicaSetリソースを特定します。$ oc get replicasets -o custom-columns=Name:metadata.name,Image:spec.template.spec.containers[*].image -n <target_namespace>出力例
Name Image sonataflow-platform-data-index-service-1111111111 registry.redhat.io/openshift-serverless-1/logic-data-index-postgresql-rhel8:1.35.0 sonataflow-platform-data-index-service-2222222222 registry.redhat.io/openshift-serverless-1/logic-data-index-postgresql-rhel8:1.36.0オプション: 次のコマンドを実行して、古い
ReplicaSetリソースを削除します。$ oc delete replicaset <old_replicaset_name> -n <target_namespace>出力例に基づくコマンド例
$ oc delete replicaset sonataflow-platform-data-index-service-1111111111 -n <target_namespace>
9.2.3.2. Job Service のアップグレードの最終処理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Serverless Operator をバージョン 1.36.0 にアップグレードした後、必要に応じて古い ReplicaSet リソースを削除できます。
手順
次のコマンドを実行して、古い
ReplicaSetリソースを特定します。$ oc get replicasets -o custom-columns=Name:metadata.name,Image:spec.template.spec.containers[*].image -n <target_namespace>出力例
Name Image sonataflow-platform-jobs-service-1111111111 registry.redhat.io/openshift-serverless-1/logic-jobs-service-postgresql-rhel8:1.35.0 sonataflow-platform-jobs-service-2222222222 registry.redhat.io/openshift-serverless-1/logic-jobs-service-postgresql-rhel8:1.36.0次のコマンドを実行して、古い
ReplicaSetリソースを削除します。$ oc delete replicaset <old_replicaset_name> -n <target_namespace>出力例に基づくコマンド例
$ oc delete replicaset sonataflow-platform-jobs-service-1111111111 -n <target_namespace>
9.2.3.3. dev プロファイルを使用してワークフローを再デプロイする リンクのコピーリンクがクリップボードにコピーされました!
アップグレード後、dev プロファイルと関連する Kubernetes リソースを使用するワークフローを再デプロイする必要があります。
手順
-
ワークフローを再デプロイする前に、
application.propertiesフィールドがあるConfigMapを含む、必要なすべての Kubernetes リソースが復元されていることを確認します。 次のコマンドを実行してワークフローを再デプロイします。
$ oc apply -f <workflow_name> -n <target_namespace>
9.2.3.4. preview プロファイルを使用したワークフローの復元 リンクのコピーリンクがクリップボードにコピーされました!
アップグレード後、preview プロファイルと関連する Kubernetes リソースを使用するワークフローを再デプロイする必要があります。
手順
-
ワークフローを再デプロイする前に、
application.propertiesフィールドがあるConfigMapを含む、必要なすべての Kubernetes リソースが復元されていることを確認します。 次のコマンドを実行してワークフローを再デプロイします。
$ oc apply -f <workflow_name> -n <target_namespace>
9.2.3.5. gitops プロファイルを使用したワークフローのスケールアップ リンクのコピーリンクがクリップボードにコピーされました!
操作を続行するには、以前に gitops プロファイルを使用してスケールダウンしたワークフローをスケールアップする必要があります。
手順
my-workflow.yamlカスタムリソース (CR) を変更し、次の例に示すように各ワークフローを1にスケールアップします。spec: podTemplate: replicas: 1 # ...次のコマンドを実行して、更新された CR を適用します。
$ oc apply -f my-workflow.yaml -n <target_namespace>オプション: 次のコマンドを実行して、ワークフローを
1に戻します。$ oc patch workflow <workflow_name> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 1}}}'
9.2.4. 1.36.0 アップグレードの検証 リンクのコピーリンクがクリップボードにコピーされました!
ワークフローとサービスを復元した後、アップグレードが成功し、すべてのコンポーネントが期待どおりに機能していることを確認します。
手順
次のコマンドを入力して、すべてのワークフローとサービスが実行されているかどうかを確認します。
$ oc get pods -n <target_namespace>ワークフロー、Data Index、Jobs Service に関連するすべての Pod が
RunningまたはCompleted状態であることを確認します。次のコマンドを入力して、OpenShift Serverless Logic Operator が正しく実行されていることを確認します。
$ oc get clusterserviceversion logic-operator-rhel8.v1.36.0 -n openshift-serverless-logic出力例
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.36.0 OpenShift Serverless Logic Operator 1.36.0 logic-operator-rhel8.v1.35.0 Succeeded次のコマンドを入力して、Operator ログにエラーがないか確認します。
$ oc logs -l control-plane=sonataflow-operator -n openshift-serverless-logic