Chapter 2. Installing Dev Spaces
This section contains instructions to install Red Hat OpenShift Dev Spaces.
You can deploy only one instance of OpenShift Dev Spaces per cluster.
2.1. Installing Dev Spaces in the cloud
Deploy and run Red Hat OpenShift Dev Spaces in the cloud.
Prerequisites
- A OpenShift cluster to deploy OpenShift Dev Spaces on.
-
dsc
: The command line tool for Red Hat OpenShift Dev Spaces. See: Section 1.2, “Installing the dsc management tool”.
2.1.1. Deploying OpenShift Dev Spaces in the cloud
Follow the instructions below to start the OpenShift Dev Spaces Server in the cloud by using the dsc
tool.
- Section 2.1.2, “Installing Dev Spaces on OpenShift using CLI”
- Section 2.1.3, “Installing Dev Spaces on OpenShift using the web console”
- Section 2.1.4, “Installing Dev Spaces in a restricted environment”
- https://access.redhat.com/documentation/en-us/red_hat_openshift_dev_spaces/3.17/html-single/user_guide/index#installing-che-on-microsoft-azure
2.1.2. Installing Dev Spaces on OpenShift using CLI
You can install OpenShift Dev Spaces on OpenShift.
Prerequisites
- OpenShift Container Platform
-
An active
oc
session with administrative permissions to the OpenShift cluster. See Getting started with the OpenShift CLI. -
dsc
. See: Section 1.2, “Installing the dsc management tool”.
Procedure
Optional: If you previously deployed OpenShift Dev Spaces on this OpenShift cluster, ensure that the previous OpenShift Dev Spaces instance is removed:
$ dsc server:delete
Create the OpenShift Dev Spaces instance:
$ dsc server:deploy --platform openshift
Verification steps
Verify the OpenShift Dev Spaces instance status:
$ dsc server:status
Navigate to the OpenShift Dev Spaces cluster instance:
$ dsc dashboard:open
2.1.3. Installing Dev Spaces on OpenShift using the web console
If you have trouble installing OpenShift Dev Spaces on the command line, you can install it through the OpenShift web console.
Prerequisites
- An OpenShift web console session by a cluster administrator. See Accessing the web console.
-
An active
oc
session with administrative permissions to the OpenShift cluster. See Getting started with the OpenShift CLI. - For a repeat installation on the same OpenShift cluster: you uninstalled the previous OpenShift Dev Spaces instance according to Chapter 8, Uninstalling Dev Spaces.
Procedure
-
In the Administrator view of the OpenShift web console, go to Operators
OperatorHub and search for Red Hat OpenShift Dev Spaces
. Install the Red Hat OpenShift Dev Spaces Operator.
TipCautionThe Red Hat OpenShift Dev Spaces Operator depends on the Dev Workspace Operator. If you install the Red Hat OpenShift Dev Spaces Operator manually to a non-default namespace, ensure that the Dev Workspace Operator is also installed in the same namespace. This is required as the Operator Lifecycle Manager will attempt to install the Dev Workspace Operator as a dependency within the Red Hat OpenShift Dev Spaces Operator namespace, potentially resulting in two conflicting installations of the Dev Workspace Operator if the latter is installed in a different namespace.
If you want to onboard Web Terminal Operator on the cluster make sure to use the same installation namespace as Red Hat OpenShift Dev Spaces Operator since both depend on Dev Workspace Operator. Web Terminal Operator, Red Hat OpenShift Dev Spaces Operator, and Dev Workspace Operator must be installed in the same namespace.
Create the
openshift-devspaces
project in OpenShift as follows:oc create namespace openshift-devspaces
-
Go to Operators
Installed Operators Red Hat OpenShift Dev Spaces instance Specification Create CheCluster YAML view. -
In the YAML view, replace
namespace: openshift-operators
withnamespace: openshift-devspaces
. Select Create.
Tip
Verification
- In Red Hat OpenShift Dev Spaces instance Specification, go to devspaces, landing on the Details tab.
- Under Message, check that there is None, which means no errors.
- Under Red Hat OpenShift Dev Spaces URL, wait until the URL of the OpenShift Dev Spaces instance appears, and then open the URL to check the OpenShift Dev Spaces dashboard.
- In the Resources tab, view the resources for the OpenShift Dev Spaces deployment and their status.
2.1.4. Installing Dev Spaces in a restricted environment
On an OpenShift cluster operating in a restricted network, public resources are not available.
However, deploying OpenShift Dev Spaces and running workspaces requires the following public resources:
- Operator catalog
- Container images
- Sample projects
To make these resources available, you can replace them with their copy in a registry accessible by the OpenShift cluster.
Prerequisites
- The OpenShift cluster has at least 64 GB of disk space.
- The OpenShift cluster is ready to operate on a restricted network. See About disconnected installation mirroring and Using Operator Lifecycle Manager on restricted networks.
-
An active
oc
session with administrative permissions to the OpenShift cluster. See Getting started with the OpenShift CLI. -
An active
oc registry
session to theregistry.redhat.io
Red Hat Ecosystem Catalog. See: Red Hat Container Registry authentication.
-
opm
. See Installing theopm
CLI. -
jq
. See Downloadingjq
. -
podman
. See Podman Installation Instructions. -
skopeo
version 1.6 or higher. See Installing Skopeo. -
An active
skopeo
session with administrative access to the private Docker registry. Authenticating to a registry, and Mirroring images for a disconnected installation. -
dsc
for OpenShift Dev Spaces version 3.17. See Section 1.2, “Installing the dsc management tool”.
Procedure
Download and execute the mirroring script to install a custom Operator catalog and mirror the related images: prepare-restricted-environment.sh.
$ bash prepare-restricted-environment.sh \ --devworkspace_operator_index registry.redhat.io/redhat/redhat-operator-index:v4.17\ --devworkspace_operator_version "v0.31.0" \ --prod_operator_index "registry.redhat.io/redhat/redhat-operator-index:v4.17" \ --prod_operator_package_name "devspaces" \ --prod_operator_bundle_name "devspacesoperator" \ --prod_operator_version "v3.17.0" \ --my_registry "<my_registry>" 1
- 1
- The private Docker registry where the images will be mirrored
Install OpenShift Dev Spaces with the configuration set in the
che-operator-cr-patch.yaml
during the previous step:$ dsc server:deploy \ --platform=openshift \ --olm-channel stable \ --catalog-source-name=devspaces-disconnected-install \ --catalog-source-namespace=openshift-marketplace \ --skip-devworkspace-operator \ --che-operator-cr-patch-yaml=che-operator-cr-patch.yaml
- Allow incoming traffic from the OpenShift Dev Spaces namespace to all Pods in the user projects. See: Section 3.8.1, “Configuring network policies”.
Additional resources
2.1.4.1. Setting up an Ansible sample
Follow these steps to use an Ansible sample in restricted environments.
Prerequisites
- Microsoft Visual Studio Code - Open Source IDE
- A 64-bit x86 system.
Procedure
Mirror the following images:
ghcr.io/ansible/ansible-workspace-env-reference@sha256:03d7f0fe6caaae62ff2266906b63d67ebd9cf6e4a056c7c0a0c1320e6cfbebce registry.access.redhat.com/ubi8/python-39@sha256:301fec66443f80c3cc507ccaf72319052db5a1dc56deb55c8f169011d4bbaacb
Configure the cluster proxy to allow access to the following domains:
.ansible.com .ansible-galaxy-ng.s3.dualstack.us-east-1.amazonaws.com
Support for the following IDE and CPU architectures is planned for a future release:
IDE
- JetBrains IntelliJ IDEA Community Edition IDE (Technology Preview)
CPU architectures
- IBM Power (ppc64le)
- IBM Z (s390x)
2.2. Finding the fully qualified domain name (FQDN)
You can get the fully qualified domain name (FQDN) of your organization’s instance of OpenShift Dev Spaces on the command line or in the OpenShift web console.
You can find the FQDN for your organization’s OpenShift Dev Spaces instance in the Administrator view of the OpenShift web console as follows. Go to Operators
Prerequisites
-
An active
oc
session with administrative permissions to the OpenShift cluster. See Getting started with the OpenShift CLI.
Procedure
Run the following command:
oc get checluster devspaces -n openshift-devspaces -o jsonpath='{.status.cheURL}'