23.2. 更新された設定に対する更新ストラテジーの決定
ローリング更新が可能かどうかを判断するには、以下を実行します。
- update compatibility コマンドを実行して、古い設定で必要なメタデータを生成します。
- 新しい設定でメタデータをチェックして、更新ストラテジーを決定します。
最適化されたものがない場合は、update コマンドが 最適化され たビルドを暗黙的に作成または更新する可能性があることに注意してください。サーバーインスタンスと同じマシンからコマンドを実行すると、サーバーの次回の起動時に影響を及ぼす可能性があります。
これらのコマンドのコンシューマーは、内部の動作やメタデータファイルの構造に依存しないでください。今後の内部ロジックの改善によるメリットを得るためにも、ローリングアップデートの可否判断には、check コマンドの終了コードのみをもとに判断するようにしてください。
23.2.1. メタデータの生成 リンクのコピーリンクがクリップボードにコピーされました!
メタデータを生成するには、同じ Red Hat build of Keycloak バージョンと設定オプションを使用して、次のコマンドを実行します。
現在のデプロイメントからメタデータを生成して保存します。
bin/kc.[sh|bat] update-compatibility metadata --file=/path/to/file.json
bin/kc.[sh|bat] update-compatibility metadata --file=/path/to/file.json
このコマンドは、start コマンドで使用されるオプションをすべて使用できます。このコマンドは、デバッグの目的で、JSON 形式でメタデータをコンソールに表示します。--file パラメーターを使用すると、メタデータをファイルに保存できます。このファイルを後続の check コマンドで使用します。
上記のコマンドを実行する際は、環境変数か CLI 引数かに関係なく、すべての設定オプションが含まれていることを確認してください。
設定オプションを省略すると、メタデータが不完全になり、次のステップで間違った結果が報告される可能性があります。
23.2.2. メタデータの確認 リンクのコピーリンクがクリップボードにコピーされました!
このコマンドは、前のコマンドによって生成されたメタデータをチェックして、現在の設定と Red Hat build of Keycloak と比較します。新しい Red Hat build of Keycloak バージョンに更新する場合は、このコマンドを新しいバージョンで実行する必要があります。
以前のデプロイメントからのメタデータを確認します。
bin/kc.[sh|bat] update-compatibility check --file=/path/to/file.json
bin/kc.[sh|bat] update-compatibility check --file=/path/to/file.json
- コマンドを実行する際は、環境変数か CLI 引数かに関係なく、すべての設定オプションが含まれていることを確認してください。
- 正しい Red Hat build of Keycloak バージョンが使用されていることを確認します。
これらの要件を満たさない場合、結果は不正確になります。
コマンドは結果をコンソールに出力します。たとえば、ローリング更新が可能な場合は、次のように表示されます。
ローリング更新が可能であることを示すメッセージ
[OK] Rolling Update is available.
[OK] Rolling Update is available.
ローリング更新が不可能な場合、このコマンドで互換性がない旨の情報が表示されます。
ローリング更新が不可能であることを示すメッセージ
[keycloak] Rolling Update is not available. 'keycloak.version' is incompatible: 26.2.0 -> 26.2.1
[keycloak] Rolling Update is not available. 'keycloak.version' is incompatible: 26.2.0 -> 26.2.1
- 1
- この例では、Keycloak バージョン
26.2.0はバージョン26.2.1と互換性がなく、ローリング更新は実行できません。
この機能の次回の反復では、Red Hat build of Keycloak の以下のパッチリリースに更新するときにも、ローリング更新ストラテジーを使用できます。詳細は、「パッチリリースのローリング更新」 セクションを参照してください。
コマンド終了コード
コマンドの終了コードを使用して、自動化パイプラインの更新タイプを判別します。
| 終了コード | 説明 |
|---|---|
|
| ローリング更新が可能です。 |
|
| 予期しないエラーが発生しました (メタデータファイルが見つからないか破損しているなど)。 |
|
| 無効な CLI オプションです。 |
|
| ローリング更新はできません。新しい設定を適用する前に、デプロイメントをシャットダウンする必要があります。 |
|
|
ローリング更新はできません。 |