Openshift
Bee Travels is able to be deployed to RedHat's OpenShift container platform. Learn more about OpenShift and how Bee Travels interacts with it below:
IBM Cloud
IBM Cloud allows users to provision an OpenShift cluster here. The provisioning process takes about 20-30 minutes.
Deploying Bee Travels to OpenShift on IBM Cloud can be done by using the Bee Travels Wizard or cloning the config repo.
To deploy v1, run this:
To deploy v2, run this:
LinuxONE Community Cloud
The OpenShift Container Platform is available on the LinuxONE Community Cloud built on IBM's Z Mainframe. Currently, creating a cluster is only available as a trial.
Because this is built on a Z Mainframe, the Docker images used for containers have to be built using s390x
architecture and not x86
. Let's take a look at how we modify this in Bee Travels for the Node.js version. Bee Travels Node.js service Docker images are built using the node:12.11.0-alpine
base image. Below is the first line of the Dockerfile:
By default, this pulls the x86
version of the base image. To modify this to be built with the s390x
architecture for the base image, the specifc sha256
must be specified. For thie specific base image, this can be found here. Below is what that same line in the Dockerfile looks like to work with the new architecture:
Deploying Bee Travels to OpenShift on the LinuxONE Community Cloud can be done by using the Bee Travels Wizard or cloning the config repo.
To deploy v1, run this:
Dashboard
The OpenShift dashboard provides a nice alternative to the oc cli with a GUI to view and manage your cluster.
Operators
Depending on where your OpenShift cluster is provisioned, your cluster may come with operators that you can install into your cluster. Operators can be installed from OperatorHub and the Red Hat Marketplace.
Bee Travels takes advantage of operators in OpenShift. One operator that Bee Travels works with is the PostgreSQL database operator. This operator can be installed either manually through the UI by following these steps or automatically in the deploy-openshift-v2.sh
script by specifying the database type as seen below:
Accessing Services Externally
When deploying an application to an OpenShift cluster, there is no way to access any of the services from outside the cluster without exposing a service. In the case of Bee Travels, we are concerned with accessing the UI service this is the only service a user would interact with. In order to expose the UI, a Route needs to be defined.
A Route can be created via the OpenShift dashboard as seen below:
Or a Route can be created by defining an OpenShift Route yaml file to your cluster via the cli and running the following command:
This Route file can also be deployed using the deploy-openshift.sh
scripts if the OpenShift Cluster is on IBM Cloud. To do this, the cluster name must be specified as seen below:
Debugging
As part of the application development life cycle, there will come a time when debugging will be needed to figure out why something is not working as intended in your cluster. Through the OpenShift dashboard, you can view activity of running services in your Project details. If you know which service is not functioning properly, you can view the logs and events for that specific service's pod as seen below: