Chapter 3. Installing CodeReady Workspaces from Operator Hub
CodeReady Workspaces is now compatible with OpenShift 4.0 and has a dedicated operator compatible with the Operator Lifecycle Manager (OLM), which allows for easy installation and automated updates.
OLM is a management framework for extending Kubernetes with Operators. The OLM project is a component of the Operator Framework, which is an open-source toolkit to manage Kubernetes-native applications, called Operators, in an effective, automated, and scalable way.
The installation of CodeReady Workspaces from the Operator Hub is supported as Developer Preview with OpenShift 4.0 only.
To install CodeReady Workspaces 1.1.0 from Operator Hub:
- Launch the OpenShift Web Console.
In the console, in the Operator Hub tab, click CodeReady Workspaces. The CodeReady Workspaces 1.1.0 window displays.
Figure 3.1. CodeReady Workspaces 1.1.0 listed on Operator Hub
Figure 3.2. Install button on the CodeReady Workspaces 1.1.0 window
In the Create Operator Subscription window:
- In the A specific namespace in the cluster drop-down list, select the namespace to install the Operator to.
- In the Approval Strategy field, choose the appropriate approval strategy.
Figure 3.3. Selections in the Create Operator Subscription window
A subscription is created in the Operator Lifecycle Manager (OLM), and the Operator is installed in the chosen namespace. Successful installation implies that the following requirements in the Cluster Service Version (CSV) are created:
- Service account (SA)
- Role-based access control (RBAC)
The deployment is successfully scaled to 1. After it is installed, the Operator is marked as installed on the Operator Hub window.
Navigate to Catalog > Installed Operators. The CodeReady Workspaces Operator with an InstallSucceded message displays.
Figure 3.4. Installed Operator on Operator Hub
To deploy CodeReady Workspaces 1.1.0 on the Operator, take the following steps:
- To create a custom resource Che Cluster that the Operator will watch in the selected namespace, click on the Operator > CodeReady Workspaces Cluster (or click Provided APIs).
Click Create Che Cluster.
Figure 3.5. Clicking Create Che Cluster
There is a template to create a Che-cluster type custom resource. If you enable OpenShift oAuth or self signed certificate, you must grant cluster administrator privileges to the codeready-operator service account. For instructions, see the Operator description when you initially install it.
Figure 3.6. Clicking Create to create the Che cluster
After the custom resource is created, the Operator starts executing the following controller business logic:
- Creates the Kubernetes and OpenShift resources
- Provisions the database and Red Hat SSO resources
- Updates the resource status while the installation is in progress
To track the progress in the OLM UI, navigate to the resource details window.
Figure 3.7. Display of route for CodeReady Workspaces
- Wait for the status to become Available. The CodeReady Workspaces route is displayed.
To track the installation progress, follow the operator logs.
Notice that the coderedy-operator pod is the same namespace. Follow the logs and wait until the Operator updates the resource status to Available and sets the URLs.
Figure 3.8. CodeReady Operator pod shown running