第9章 アップグレードの管理
9.1. OpenShift Serverless Logic Operator をバージョン 1.34.0 から 1.35.0 にアップグレードする リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、OpenShift Serverless Logic Operator をバージョン 1.34.0 から 1.35.0 にアップグレードする手順を段階的に説明します。アップグレードプロセスには、既存のワークフローとサービスの準備、Operator の更新、アップグレード後のワークフローの復元が含まれます。
ワークフロープロファイルごとに、必要なアップグレード手順が異なります。各プロファイルの指示に注意深く従ってください。
9.1.1. アップグレードの準備 リンクのコピーリンクがクリップボードにコピーされました!
アップグレードプロセスを開始する前に、OpenShift Serverless Logic 環境を準備する必要があります。このセクションでは、バージョン 1.34.0 から 1.35.0 へのアップグレードに必要な手順を説明します。
準備プロセスには以下が含まれます。
- プロファイルに基づいてワークフローを削除またはスケーリングします。
- 必要なすべてのデータベースとリソースをバックアップします。
- すべてのカスタム設定の記録があることを確認します。
- 永続性を使用したワークフローに必要なデータベース移行スクリプトを実行します。
前提条件
-
cluster-admin
権限でクラスターにアクセスできる。 - OpenShift Serverless Logic Operator がクラスターにインストールされている。
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- Operator のアップグレード用の OpenShift 管理コンソール にアクセスできる。
-
OpenShift CLI (
oc
) がインストールされている。
9.1.1.1. dev プロファイルを使用してワークフローを削除する リンクのコピーリンクがクリップボードにコピーされました!
Operator をアップグレードする前に、dev
プロファイルで実行されているワークフローを削除し、アップグレードの完了後に再デプロイする必要があります。
手順
-
SonataFlow
カスタムリソース定義 (CRD)、ConfigMaps
、その他の関連するカスタム設定など、必要なすべての Kubernetes リソースのバックアップがあることを確認します。 次のコマンドを実行してワークフローを削除します。
oc delete -f <my-workflow.yaml> -n <target_namespace>
$ oc delete -f <my-workflow.yaml> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.1.2. preview プロファイルを使用したワークフローの削除と移行 リンクのコピーリンクがクリップボードにコピーされました!
Operator をアップグレードする前に、Preview
プロファイルで実行されているワークフローを削除し、保持されているすべてのデータを移行する必要があります。アップグレードが完了したら、ワークフローを再デプロイする必要があります。
手順
- 永続性を使用している場合は、ワークフローデータベースをバックアップし、バックアップにデータベースオブジェクトとテーブルデータの両方が含まれていることを確認します。
-
SonataFlow
CRD、ConfigMaps
、その他の関連するカスタム設定など、必要なすべての Kubernetes リソースのバックアップがあることを確認します。 次のコマンドを実行してワークフローを削除します。
oc delete -f <my-workflow.yaml> -n <target_namespace>
$ oc delete -f <my-workflow.yaml> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 永続性を使用している場合は、次のデータベース移行スクリプトを実行する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.1.3. gitops プロファイルを使用してワークフローをスケールダウンする リンクのコピーリンクがクリップボードにコピーされました!
Operator をアップグレードする前に、gitops
プロファイルで実行されているワークフローをスケールダウンし、アップグレードの完了後に再度スケールアップする必要があります。
手順
次の例に示すように、アップグレードする前に、
my-workflow.yaml
CRD を変更し、各ワークフローをzero
にスケールダウンします。spec: podTemplate: replicas: 0
spec: podTemplate: replicas: 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、更新された CRD を適用します。
oc apply -f <my-workflow.yaml> -n <target_namespace>
$ oc apply -f <my-workflow.yaml> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) 次のコマンドを実行して、ワークフローを
0
にスケーリングします。oc patch sonataflow <my-workflow> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 0}}}'
$ oc patch sonataflow <my-workflow> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 0}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.1.4. Data Index データベースのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
データの損失を防ぐために、アップグレードする前に Data Index データベースをバックアップする必要があります。
手順
次の点を確認して、Data Index データベースの完全バックアップを実行します。
- バックアップには、テーブルデータだけでなく、すべてのデータベースオブジェクトが含まれます。
- バックアップはセキュアなロケーションに保存されます。
9.1.1.5. Jobs Service データベースのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
ジョブスケジュールデータを維持するために、アップグレードする前に Jobs Service データベースをバックアップする必要があります。
手順
次の点を確認して、Jobs Service データベースの完全バックアップを実行します。
- バックアップには、テーブルデータだけでなく、すべてのデータベースオブジェクトが含まれます。
- バックアップはセキュアなロケーションに保存されます。
9.1.2. OpenShift Serverless Logic Operator のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Serverless Logic Operator (OSL) バージョン 1.34.0 から 1.35.0 に移行するには、Red Hat OpenShift Serverless Web コンソールを使用して OSL をアップグレードする必要があります。このアップグレードにより、新しい機能との互換性が確保され、ワークフローが適切に機能します。
前提条件
-
cluster-admin
権限でクラスターにアクセスできる。 - OpenShift Serverless Logic Operator がクラスターにインストールされている。
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- Operator のアップグレード用の OpenShift 管理コンソール にアクセスできる。
-
OpenShift CLI (
oc
) がインストールされている。
手順
-
Web コンソールで、Operators
OperatorHub Installed Operator ページに移動します。 -
Installed Namespace から
openshift-serverless-logic
namespace を選択します。 - インストールされている Operator のリストで、OpenShift Serverless Logic Operator を見つけてクリックします。
- Operator の詳細ページで、Subscription タブをクリックします。Edit Subscription をクリックします。
- Upgrade status で、Upgrade available リンクをクリックします。
- Preview install plan と Approve をクリックし、更新を開始します。
アップグレードプロセスを監視するには、次のコマンドを実行します。
oc get subscription logic-operator-rhel8 -n openshift-serverless-logic -o jsonpath='{.status.installedCSV}'
$ oc get subscription logic-operator-rhel8 -n openshift-serverless-logic -o jsonpath='{.status.installedCSV}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 予想される出力
logic-operator-rhel8.v1.35.0
$ logic-operator-rhel8.v1.35.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
新しい Operator バージョンがインストールされていることを確認するには、次のコマンドを実行します。
oc get clusterserviceversion logic-operator-rhel8.v1.35.0 -n openshift-serverless-logic
$ oc get clusterserviceversion logic-operator-rhel8.v1.35.0 -n openshift-serverless-logic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 予想される出力
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.35.0 OpenShift Serverless Logic Operator 1.35.0 logic-operator-rhel8.v1.34.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.35.0 OpenShift Serverless Logic Operator 1.35.0 logic-operator-rhel8.v1.34.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.3. アップグレードの最終処理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Serverless Logic Operator をバージョン 1.35.0 にアップグレードした後、ワークフローを復元またはスケーリングし、古いサービスをクリーンアップして、アップグレードプロセスを完了する必要があります。これにより、システムが新しいバージョンで正常に実行され、すべての依存コンポーネントが正しく設定されるようになります。
ワークフローとサービスのプロファイルに基づいて、以下の適切な手順に従ってください。
前提条件
-
cluster-admin
権限でクラスターにアクセスできる。 - OpenShift Serverless Logic Operator がクラスターにインストールされている。
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- Operator のアップグレード用の OpenShift 管理コンソール にアクセスできる。
-
OpenShift CLI (
oc
) がインストールされている。
9.1.3.1. Data Index のアップグレードの最終処理 リンクのコピーリンクがクリップボードにコピーされました!
Operator のアップグレード後、Data Index 1.35.0 の新しい ReplicaSet が自動的に作成されます。古いものは手動で削除する必要があります。
手順
次のコマンドを実行してすべての ReplicaSet をリスト表示し、新しい ReplicaSet が存在することを確認します。
oc get replicasets -n <target_namespace> -o custom-columns=Name:metadata.name,Image:spec.template.spec.containers[*].image
$ oc get replicasets -n <target_namespace> -o custom-columns=Name:metadata.name,Image:spec.template.spec.containers[*].image
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 古い Data Index ReplicaSet (バージョン 1.34.0) を特定して削除します。
oc delete replicaset <old_replicaset_name> -n <target_namespace>
$ oc delete replicaset <old_replicaset_name> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.3.2. Job Service のアップグレードの最終処理 リンクのコピーリンクがクリップボードにコピーされました!
バージョン 1.35.0 コンポーネントのデプロイメントをトリガーするには、古いバージョンの Jobs Service コンポーネントを手動でクリーンアップする必要があります。
手順
次のコマンドを実行して、古い Jobs Service のデプロイメントを削除します。
oc delete deployment <jobs-service-deployment-name> -n <target_namespace>
$ oc delete deployment <jobs-service-deployment-name> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、古い Pod と ReplicaSet の自動クリーンアップがトリガーされ、バージョン 1.35.0 を使用して新しいデプロイメントが開始されます。
9.1.3.3. dev プロファイルを使用してワークフローを再デプロイする リンクのコピーリンクがクリップボードにコピーされました!
アップグレード後、dev
プロファイルと関連する Kubernetes リソースを使用するワークフローを再デプロイする必要があります。
手順
-
SonataFlow
CRD、ConfigMap
、その他の関連するカスタム設定など、必要なすべてのリソースが復元されていることを確認します。 次のコマンドを実行してワークフローを再デプロイします。
oc apply -f <my-workflow.yaml> -n <target_namespace>
$ oc apply -f <my-workflow.yaml> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.3.4. preview プロファイルを使用したワークフローの復元 リンクのコピーリンクがクリップボードにコピーされました!
preview
プロファイルを含むワークフローでは、再デプロイする前に追加の設定手順が必要です。
手順
ワークフローが永続性を使用する場合は、ワークフローに関連付けられた
ConfigMap
に次のプロパティーを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
SonataFlow
CRD、ConfigMap
、その他の関連するカスタム設定など、必要なすべてのリソースが再作成されていることを確認します。 次のコマンドを実行してワークフローを再デプロイします。
oc apply -f <my-workflow.yaml> -n <target_namespace>
$ oc apply -f <my-workflow.yaml> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.3.5. gitops プロファイルを使用したワークフローのスケールアップ リンクのコピーリンクがクリップボードにコピーされました!
以前にスケールダウンされた gitops
プロファイルを持つワークフローは、操作を継続するためにスケールアップし直す必要があります。
手順
次の例に示すように、アップグレードする前に、
my-workflow.yaml
CRD を変更し、各ワークフローをone
にスケールアップします。spec: podTemplate: replicas: 1
spec: podTemplate: replicas: 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、更新された CRD を適用します。
oc apply -f <my-workflow.yaml> -n <target_namespace>
$ oc apply -f <my-workflow.yaml> -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) 次のコマンドを実行して、ワークフローを
1
に戻します。oc patch sonataflow <my-workflow> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 1}}}'
$ oc patch sonataflow <my-workflow> -n <target_namespace> --type=merge -p '{"spec": {"podTemplate": {"replicas": 1}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.3.6. アップグレードの検証 リンクのコピーリンクがクリップボードにコピーされました!
ワークフローとサービスを復元した後、アップグレードが成功したこと、およびすべてのコンポーネントが期待どおりに機能していることを確認することが重要です。
手順
次のコマンドを入力して、すべてのワークフローとサービスが実行されているかどうかを確認します。
oc get pods -n <target_namespace>
$ oc get pods -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ワークフロー、Data Index、Jobs Service に関連するすべての Pod が
Running
またはCompleted
状態であることを確認します。次のコマンドを入力して、OpenShift Serverless Logic Operator が正しく実行されていることを確認します。
oc get clusterserviceversion logic-operator-rhel8.v1.35.0 -n openshift-serverless-logic
$ oc get clusterserviceversion logic-operator-rhel8.v1.35.0 -n openshift-serverless-logic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 予想される出力
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.35.0 OpenShift Serverless Logic Operator 1.35.0 logic-operator-rhel8.v1.34.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE logic-operator-rhel8.v1.35.0 OpenShift Serverless Logic Operator 1.35.0 logic-operator-rhel8.v1.34.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、Operator ログにエラーがないか確認します。
oc logs -l control-plane=sonataflow-operator -n openshift-serverless-logic
$ oc logs -l control-plane=sonataflow-operator -n openshift-serverless-logic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow