Storage for developer portals in 3scale API Management
system component of 3scale API Management through its CMS feature. The
system component needs a ReadWriteMany (RWX) persistent volume for the CMS and system application assets. An RWX persistent volume enables multiple nodes to simultaneously read and write to the storage volume. With an RWX access mode, the system can be scaled horizontally, with multiple pods uploading and reading the files, which increases the scalability of the API manager and developer portal.
This article installs 3scale API Management on Red Hat OpenShift 4.x. The installation uses CephFS as part of Red Hat OpenShift Data Foundation (previously known as OpenShift Container Storage) for RWX storage. We will employ the 3scale API Management Operator, along with other Operators, to simplify installation.
Operators used for this installation
The 3scale API Management Operator creates and maintains an instance of Red Hat 3scale API Management on OpenShift in various deployment configurations. The Operator also has a configurable setting that makes sure you receive automatic updates of product microreleases. The Operator makes it easy to do the following:
- Install 3scale API Management, providing configurable options at the time of installation
- Upgrade from a previously installed version of 3scale API Management
- Reconcile tunable CRD parameters after installing 3scale API Management
- Define 3scale API Management API options
We also install a set of Red Hat OpenShift Data Foundation Operators, including the following components:
OpenShift Data Foundation Operator: This is the primary Operator for OpenShift Data Foundation. It facilitates the behavior of the other Operators by performing administrative tasks outside their scope, as well as by watching and configuring their custom resources.
Rook: Rook deploys and manages Ceph on OpenShift to provide block and file storage.
NooBaa Operator: The NooBaa Operator deploys and manages the NooBaa multicloud gateway on OpenShift to provide object storage.
Before you start the process outlined in this article, you'll need to have access to the Red Hat OpenShift Container Platform, version 4.8 or above.
Install OpenShift Data Foundation
- You'll begin by installing the OpenShift Data Foundation Operator from the OpenShift Console using the default values, as shown in Figure 1.
- After the Operator has installed, create a storage cluster. Select at least three nodes, and choose at least 0.5 TiB for the requested capacity, as shown in Figure 2. You can leave all the other values as the defaults.
Install Red Hat 3Scale API Management
- Install Red Hat Integration - 3scale Operator in your preferred namespace, as shown in Figure 3.
- After the Operator installation is complete, create the API manager by using the Console UI. Select the 3scale-amp project. From that project screen, navigate to Operators > Installed Operators > Red Hat Integration - 3scale Red Hat Integration - 3scale > Click on the API Manager tab > Create APIManager > YAML view >. Replace the existing YAML with the code provided below:
apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: name: apimanager spec: system: fileStorage: persistentVolumeClaim: storageClassName: ocs-storagecluster-cephfs redisResources: limits: memory: 6Gi backend: redisResources: limits: memory: 6Gi wildcardDomain: <WILDCARD-DOMAIN>
- You can find the wildcard DNS of your OpenShift cluster from the console URL, as shown in Figure 3. Be sure to remove the
< >placeholder marks for your parameters.
Verify the installation
Wait for about 10 minutes for all the 3scale pods to be ready. You can check the progress and watch them all coming up by navigating to Developer > Topology under the namespace where you installed the 3scale operator. You'll know the pods are up when they have a dark blue circle around them in the UI. Once they're ready, you can verify the installation.
- Click on system-app to get the URLs of the
admin-tenantfor 3scale, as in Figure 4.
- All required access credentials are stored in the
system-seedsecret in the namespace where you installed 3scale. Navigate to Secrets, then search for 'system-seed' and click on it. Navigate to the bottom of the details page to find the admin user and password used to log in to 3scale.
- Now it's time to log in to the
3scale-admintenant and verify that you can open the developer portal. On the 3scale admin portal, Navigate to Audience > Developer Portal > Visit Portal to verify that the portal is up and running.
3scale provides you with pre-built templates that you can use to customize the developer portal, or you can choose to edit the look and feel of the entire portal to match your own branding. You have complete control over every element of the portal, so you can make it as easy as possible for developers to learn how to use your API.
A video tutorial
The following video lays out the above installation process step by step. Note that the video focuses only on the RWX storage aspect of Red Hat 3scale API Management installation and is by no means a guide for complete end-to-end installation.
Customizable developer portals are the linchpins of any successful API program. This article has shown how Red Hat 3scale API Management can use Red Hat OpenShift Data Foundation to provide a customizable developer portal.
On a larger level, the procedure in this article shows the power of Red Hat OpenShift as an application development platform, and how developers can get access to all of these components from the OpenShift console.
Some users prefer to have a vendor take care of all these installation processes. For such users, Red Hat provides a managed API Management Platform. Check out Getting started with Red Hat OpenShift API Management to learn more about this fully managed API management service from Red Hat.Last updated: May 20, 2022