

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Flink アプリケーションのメンテナンス
<a name="jobruns-flink-maintain"></a>

**Topics**
+ [アップグレードモード](#jobruns-flink-upgrademode)

Flink アプリケーションは通常、数週間、数か月、さらには数年といった長期間の実行を想定して設計されています。長時間実行されるすべてのサービスと同様に、Flink ストリーミングアプリケーションも保守する必要があります。これには、バグ修正、改善、および新しいバージョンの Flink クラスターへの移行が含まれます。

`FlinkDeployment` および `FlinkSessionJob` リソースの仕様が変更された場合は、実行中のアプリケーションをアップグレードする必要があります。そのためには、オペレーターは実行中のジョブを停止し (すでに中断されている場合を除く)、最新のスペックと、ステートフルアプリケーションの場合は前回の実行時の状態で再デプロイします。

ユーザーは、ステートフル アプリケーションの停止および復元時の状態の管理方法を、`JobSpec` の `upgradeMode` の設定で制御します。

## アップグレードモード
<a name="jobruns-flink-upgrademode"></a>

必要に応じて導入

**ステートレス**  
ステートレスアプリケーションは空の状態からアップグレードします。

**最後の状態**  
アプリケーションの状態に関係なく (ジョブが失敗した場合でも) クイックアップグレードでは、常に最新の成功したチェックポイントを使用するため、正常なジョブは必要ありません。HA メタデータが失われた場合は、手動によるリカバリが必要な場合があります。最新のチェックポイントを取得する際にジョブがフォールバックする時間を制限するように `kubernetes.operator.job.upgrade.last-state.max.allowed.checkpoint.age` を設定できます。チェックポイントが設定された値より古い場合は、ジョブを正常にするためにセーブポイントが使用されます。これはセッションモードではサポートされていません。

**セーブポイント**  
アップグレードにセーブポイントを使うと、最大限の安全性とバックアップ/フォークポイントとしての役割を果たすことができます。セーブポイントは、アップグレード処理中に作成されます。セーブポイントを作成するには Flink ジョブが実行中である必要があることに注意してください。ジョブが異常な状態にある場合は、最後のチェックポイントが使用されます (kubernetes.operator.job.upgrade.last-state-fallback.enabled が false に設定されている場合を除く)。最後のチェックポイントが利用できない場合、ジョブのアップグレードは失敗します。