Migrating 3scale

Red Hat 3scale API Management 2.13

Migrate or upgrade 3scale API Management and its components

Red Hat Customer Content Services

Abstract

Migrate 3scale from a template to an operator-based installation. Also, find the information to upgrade 3scale and its components to the latest version.

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

Note
  • 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.

Important

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.

Note

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:

  1. Log in to the OCP console using the account with administrator privileges.
  2. Select the project where the 3scale-operator has been deployed.
  3. Click Operators > Installed Operators.
  4. Select Red Hat Integration - 3scale > Subscription > Channel.
  5. Edit the channel of the subscription by selecting threescale-2.13 and save the changes.

    This will start the upgrade process.

  6. 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.
  7. 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.
  8. 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.

Important

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

  1. Log in to the OCP console using the account with administrator privileges.
  2. Select the project where the APIcast operator has been deployed.
  3. Click Operators > Installed Operators.
  4. In Subscription > Channel, select Red Hat Integration - 3scale APIcast gateway.
  5. Edit the channel of the subscription by selecting the threescale-2.13 channel and save the changes.

    This will start the upgrade process.

  6. 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.
  7. 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.

Legal Notice

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.