keycloak-scim/server_installation/topics/operator/upgrading.adoc

43 lines
No EOL
1.6 KiB
Text

[[_operator-upgrade-strategy]]
=== Upgrade strategy
You can configure how the operator performs {project_name} upgrades. You can choose from the following upgrade strategies.
* `recreate`: This is the default strategy. The operator removes all {project_name} replicas, optionally creates a backup
and then creates the replicas based on a newer {project_name} image. This strategy is suitable for major upgrades as
a single {project_name} version is accessing the underlying database. The downside is {project_name} needs to be shut
down during the upgrade.
* `rolling`: The operator removes one replica at a time and creates it again based on a newer {project_name} image. This
ensures a zero-downtime upgrade but is more suitable for minor version upgrades that do not require database migration
since the database is accessed by multiple {project_name} versions concurrently. Automatic backups are not supported
with this strategy.
.Example YAML file for a Keycloak custom resource
```yaml
apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
name: example-keycloak
labels:
ifeval::[{project_community}==true]
app: keycloak
endif::[]
ifeval::[{project_product}==true]
app: sso
endif::[]
spec:
instances: 2
migration:
strategy: recreate
backups:
enabled: True
externalAccess:
enabled: True
```
ifeval::[{project_community}==true]
.Additional Resources
* For more information on rolling updates, see the https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#rolling-update[Updating StatefulSets manual].
endif::[]