7.3.3. 再作成ストラテジー
再作成ストラテジーは、基本的なロールアウト動作で、デプロイメントプロセスにコードを挿入するためのライフサイクルフックをサポートします。
再作成ストラテジー定義の例
kind: Deployment
apiVersion: apps/v1
metadata:
name: hello-openshift
# ...
spec:
# ...
strategy:
type: Recreate
recreateParams:
pre: {}
mid: {}
post: {}
再作成ストラテジー:
-
preライフサイクルフックを実行します。 - 以前のデプロイメントをゼロにスケールダウンします。
-
任意の
midライフサイクルフックを実行します。 - 新規デプロイメントをスケールアップします。
-
postライフサイクルフックを実行します。
スケールアップ中に、デプロイメントのレプリカ数が複数ある場合は、デプロイメントの最初のレプリカが準備できているかどうかが検証されてから、デプロイメントが完全にスケールアップされます。最初のレプリカの検証に失敗した場合には、デプロイメントは失敗とみなされます。
再作成デプロイメントの使用のタイミング:
- 新規コードを起動する前に、移行または他のデータの変換を行う必要がある場合
- 以前のバージョンと新しいバージョンのアプリケーションコードの同時使用をサポートしていない場合
- 複数のレプリカ間での共有がサポートされていない、RWO ボリュームを使用する場合
再作成デプロイメントでは、短い期間にアプリケーションのインスタンスが実行されなくなるので、ダウンタイムが発生します。ただし、以前のコードと新しいコードは同時には実行されません。
7.3.3.1. 開発者パースペクティブを使用したデプロイメントの編集 リンクのコピーリンクがクリップボードにコピーされました!
Developer パースペクティブを使用して、デプロイメントのデプロイメントストラテジー、イメージ設定、環境変数、詳細オプションを編集できます。
前提条件
- Web コンソールの Developer パースペクティブを使用している。
- アプリケーションを作成している。
手順
- Topology ビューに移動します。
- アプリケーションをクリックして、Details パネルを表示します。
- Actions ドロップダウンメニューで Edit Deployment を選択し、Edit Deployment ページを表示します。
デプロイメントの以下の Advanced options を編集できます。
オプション: Pause rollouts をクリックして Pause rollouts for this deployment チェックボックスを選択すると、ロールアウトを一時停止できます。
ロールアウトを一時停止すると、ロールアウトをトリガーせずにアプリケーションを変更できます。ロールアウトはいつでも再開できます。
- オプション: Scaling をクリックし、Replicas のカズを変更することでイメージのインスタンス数を変更できます。
- Save をクリックします。