Migrating 3scale
Migrate or upgrade 3scale API Management and its components
Abstract
Preface
This guide provides the information to migrate Red Hat 3scale API Management from a template to an operator-based installation, the details required to upgrade your 3scale installation from 2.12 to 2.13, as well as the steps to upgrade APIcast in an operator-based deployment.
To upgrade your 3scale On-premises deployment from 2.12 to 2.13, refer to the following guide:
To upgrade APIcast in an operator-based deployment, refer to the steps listed in the APIcast upgrade guide.
Making open source more inclusive
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Chapter 1. 3scale operator-based upgrade guide: from 2.12 to 2.13
- 3scale 2.13.1 introduces support for Red Hat OpenShift Container Platform (OCP) 4.12.
- You must upgrade to 3scale 2.13.1 before you upgrade to OCP 4.12.
Upgrade Red Hat 3scale API Management from version 2.12 to 2.13, in an operator-based installation to manage 3scale on OpenShift 4.x.
To automatically obtain a micro-release of 3scale, make sure automatic updates is on. To check this, see Configuring automated application of micro releases.
To understand the required conditions and procedures, read the entire upgrade guide before applying the listed steps. The upgrade process disrupts the provision of the service until the procedure finishes. Due to this disruption, be sure to have a maintenance window.
To scale up or down replicas during the upgrade procedure, use the fields documented in the 3scale Reconciliation section.
1.1. Prerequisites to perform the upgrade
This section describes the required configurations to upgrade 3scale from 2.12 to 2.13 in an operator-based installation.
- An OpenShift Container Platform (OCP) 4.8, 4.9, 4.10, or 4.11 cluster with administrator access.
- 3scale 2.12 previously deployed via the 3scale operator.
Make sure the latest CSV of the
threescale-2.12
channel is in use. To check it:- If the approval setting for the subscription is automatic you should already be in the latest CSV version of the channel.
- If the approval setting for the subscription is manual make sure you approve all pending InstallPlans and have the latest CSV version.
- Keep in mind if there is a pending install plan, there might be more pending install plans, which will only be shown after the existing pending plan has been installed.
1.2. Upgrading from 2.12 to 2.13 in an operator-based installation
To upgrade 3scale from version 2.12 to 2.13 in an operator-based deployment:
- Log in to the OCP console using the account with administrator privileges.
- Select the project where the 3scale-operator has been deployed.
- Click Operators > Installed Operators.
- Select Red Hat Integration - 3scale > Subscription > Channel.
Edit the channel of the subscription by selecting threescale-2.13 and save the changes.
This will start the upgrade process.
Query the pods' status on the project until you see all the new versions are running and ready without errors:
$ oc get pods -n <3scale_namespace>
Note- The pods might have temporary errors during the upgrade process.
- The time required to upgrade pods can vary from 5-10 minutes.
- After new pod versions are running, confirm a successful upgrade by logging in to the 3scale Admin Portal and checking that it works as expected.
Check the status of the APIManager objects and get the YAML content by running the following command. <myapimanager> represents the name of your APIManager:
$ oc get apimanager <myapimanager> -n <3scale_namespace> -o yaml
The new annotations with the values should be as follows:
apps.3scale.net/apimanager-threescale-version: "2.13" apps.3scale.net/threescale-operator-version: "0.10.0"
After you have performed all steps, 3scale upgrade from 2.12 to 2.13 in an operator-based deployment is complete.
Chapter 2. APIcast operator-based upgrade guide: from 2.12 to 2.13
Upgrading APIcast from 2.12 to 2.13 in an operator-based installation helps you use the APIcast API gateway to integrate your internal and external API services with 3scale.
To understand the required conditions and procedures, read the entire upgrade guide before applying the listed steps. The upgrade process disrupts the provision of the service until the procedure finishes. Due to this disruption, be sure to have a maintenance window.
2.1. Prerequisites to perform the upgrade
To perform the upgrade of APIcast from 2.12 to 2.13 in an operator-based installation, the following required prerequisites must already be in place:
- An OpenShift Container Platform (OCP) 4.8, 4.9, 4.10, or 4.11 cluster with administrator access.
- APIcast 2.12 previously deployed via the APIcast operator.
Make sure the latest CSV of the
threescale-2.12
channel is in use. To check it:- If the approval setting for the subscription is automatic you should already be in the latest CSV version of the channel.
- If the approval setting for the subscription is manual make sure you approve all pending InstallPlans and have the latest CSV version.
- Keep in mind if there is a pending install plan, there might be more pending install plans, which will only be shown after the existing pending plan has been installed.
2.2. Upgrading APIcast from 2.12 to 2.13 in an operator-based installation
Upgrade APIcast from 2.12 to 2.13 in an operator-based installation so that APIcast can function as the API gateway in your 3scale installation.
Procedure
- Log in to the OCP console using the account with administrator privileges.
- Select the project where the APIcast operator has been deployed.
- Click Operators > Installed Operators.
- In Subscription > Channel, select Red Hat Integration - 3scale APIcast gateway.
Edit the channel of the subscription by selecting the threescale-2.13 channel and save the changes.
This will start the upgrade process.
Query the pods status on the project until you see all the new versions are running and ready without errors:
$ oc get pods -n <apicast_namespace>
Note- The pods might have temporary errors during the upgrade process.
- The time required to upgrade pods can vary from 5-10 minutes.
Check the status of the APIcast objects and get the YAML content by running the following command:
$ oc get apicast <myapicast> -n <apicast_namespace> -o yaml
After you have performed all the listed steps, APIcast upgrade from 2.12 to 2.13 in an operator-based deployment is now complete.