Migration sequence¶
Linux/bash is the default. This page aligns with docs/runbooks/00-secuencia-y-matriz.md in the repository.
Complete Prerequisites before step 1.
Order of operations¶


- Install 3scale 2.15 on a test cluster — 3scale operator + APIManager with embedded databases (Install 3scale 2.15 (lab)).
- Confirm the matrix: OpenShift version supported by both 2.15 and 2.16; latest CSV on channel
threescale-2.15. - Snapshot / backup PVCs and secrets (
system-database,system-redis,backend-redis). - Open a maintenance window: scale the 3scale operator and components to 0 except the database you are dumping.
- Externalize PostgreSQL 10 → 15 in-cluster (Externalize PostgreSQL).
- Externalize Redis 6 → 7 in-cluster (Externalize Redis).
- Set
spec.externalComponentson the APIManager (the PostgreSQL and Redis runbooks do this). - Restore replicas. Validate Admin Portal, Developer Portal, and APIcast.
- Upgrade the 3scale operator to channel
threescale-2.16(Upgrade operator to 2.16). - Upgrade OpenShift afterwards, if needed, per Supported Configurations.
- Operate day 2 in
3scale-db: persist Redis, backups, pinned digests (Day 2 operations).
If a step fails before system-app-pre succeeds on 2.16, see Rollback.
Do not combine upgrades
Do not run the 3scale upgrade and the OpenShift upgrade in the same maintenance window.
Lab vs production overlays¶
| Overlay | StorageClass | Use |
|---|---|---|
lab / lab-persist |
gp3-csi (example) |
Test clusters |
prod / prod-persist |
Cluster default | Production-like |
The 3scale procedure is the same. Only storage defaults differ.
Deployment options¶
# Phase 1: 3scale operator 2.15 + APIManager
oc apply -k gitops/
oc apply -k gitops/rhacm/ # managed cluster via ACM hub
# Phase 2: in-cluster databases (create system-database secret in 3scale-db first)
oc apply -k gitops/external-db
oc apply -k gitops/rhacm/external-db
oc apply -k kustomize/overlays/lab-operator
oc apply -k kustomize/overlays/lab-efs
oc apply -k kustomize/overlays/lab-apimanager
# after dump/restore:
oc apply -k kustomize/overlays/lab
See GitOps and RHACM for wave ordering and RHACM placement.