11.12. アップグレードストラテジー
Operator による Red Hat Single Sign-On のアップグレード方法を設定できます。以下のアップグレードストラテジーを選択できます。
-
recreate
: これはデフォルトのストラテジーです。オペレーターは、すべての Red Hat Single Sign-On レプリカを削除し、オプションでバックアップを作成し、新しい Red Hat Single Sign-On イメージに基づいてレプリカを作成します。このストラテジーは、単一の Red Hat Single Sign-On バージョンとして、基礎となるデータベースにアクセスするのに適しています。マイナス面は、アップグレード中に Red Hat Single Sign-On をシャットダウンする必要があります。 -
rolling
: オペレーターは一度に 1 つのレプリカを削除し、新しい Red Hat Single Sign-On イメージに基づいて再び作成します。これにより、ゼロダウンタイムのアップグレードが確保されますが、データベースの移行を必要としないマイナーバージョンアップグレードには、複数の Red Hat Single Sign-On バージョンが同時にアクセスされるため、データベースの移行は必要ありません。このストラテジーでは、自動バックアップはサポートされていません。
Keycloak カスタムリソースの YAML ファイルのサンプル
apiVersion: keycloak.org/v1alpha1 kind: Keycloak metadata: name: example-keycloak labels: app: sso spec: instances: 2 migration: strategy: recreate backups: enabled: True externalAccess: enabled: True
apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
name: example-keycloak
labels:
app: sso
spec:
instances: 2
migration:
strategy: recreate
backups:
enabled: True
externalAccess:
enabled: True
以前のバージョンの Operator で発生した バグ が原因で、Red Hat Single Sign-On StatefulSet の Selector
フィールドは、設定によっては、誤設定される可能性があります。このような状態が Operator によって検出され、さらに recreate
ストラテジーを使用している場合には、適切な Selector
を使用して StatefulSet が削除および再作成されます。これは、Selector
フィールドが変更できないため、必要になります。
削除の操作を行うと、数は少ないですが、危険な結果に陥る可能性があります。たとえば、Operator で認識されていないカスタムの機能を StatefulSet 定義に追加した場合に、代わりに StatefulSet を手動で削除できます。