# Configuring OpenShift (OKD) for Dynamic Engine deployment

Dynamic Engine can be deployed on an OpenShift (OKD) cluster.

This section explains OpenShift-specific prerequisites and cluster configuration for Dynamic Engine deployment. For general details about OpenShift clusters, see [OpenShift documentation](https://docs.redhat.com/en/documentation/openshift_container_platform).

## OpenShift-specific prerequisites

* Dynamic Engine v1.6.4 or later.
* Basic OpenShift knowledge.
* The OpenShift CLI (oc) installed on your machine. For more information, see [OpenShift CLI (oc)](https://docs.redhat.com/en/documentation/openshift_container_platform/4.22/html/cli_tools/openshift-cli-oc).
* Cluster administrator permissions on the target OpenShift cluster.
* An external image registry, or the internal image registry provided by OpenShift. See [Image registry configuration](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/deploying-dynamic-engine-on-openshift).
* The Kubernetes version must be compatible with Dynamic Engine. For a list of compatible Kubernetes versions, see [Prerequisites to use Dynamic Engine](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/prerequisites-to-use-dynamic-engines "Before you deploy Dynamic Engine, confirm access permissions, Kubernetes compatibility, and deployment mode requirements, including managed Kubernetes modes.").

## Supported OpenShift versions

| OpenShift version | Support |
| --- | --- |
| 4.22.x | Supported |
| Earlier than 4.22 | Not supported |

## Cluster access

Log in to your OpenShift cluster with the oc CLI:

```
oc login <cluster-api-url>
```

Verify that your current context points to the intended cluster:

```
oc whoami --show-server
```

Ensure all system pods are running before you deploy:

```
oc get pods -n openshift-apiserver
```

## Image registry configuration

The embedded docker-registry service is not suitable for production use on an OpenShift cluster and must be disabled explicitly. Provide either your own external image registry, or the internal image registry that OpenShift provides.

For the image registry configuration steps specific to this deployment, see [Deploying Dynamic Engine on OpenShift](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/deploy-dynamic-engine-openshift "After your OpenShift cluster is ready, configure the image registry and, if required, the security context constraint, then deploy your Dynamic Engine and its environment.").

## Security context constraints

OpenShift uses security context constraints (SCCs) to control the permissions that pods can request. The SCC requirements for Dynamic Engine depend on the profile you deploy:

* With global.profile: minimal, no SCC configuration is required.
* With global.profile: standard, you must provide an SCC that permits any non-root user ID, such as nonroot-v2, through configuration.security.securityContextConstraint.

For the configuration steps, see [Deploying Dynamic Engine on OpenShift](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/deploy-dynamic-engine-openshift "After your OpenShift cluster is ready, configure the image registry and, if required, the security context constraint, then deploy your Dynamic Engine and its environment.").

## Storage configuration

Storage is required only when configuration.persistence.enabled=true. Because an OpenShift cluster can run on AWS, Azure, Google Cloud, or on-premises infrastructure, use a ReadWriteMany CSI storage class provided by the underlying infrastructure. For the storage-class deployment procedure, see [Provisioning a storage class dedicated to Dynamic Engine environment services](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/deploy-dynamic-engine-with-specific-storageclass "Configure a specific storage class for Dynamic Engine environment services instead of using the default Kubernetes storage class.").

### In this section

* [Deploying Dynamic Engine on OpenShift](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/deploy-dynamic-engine-openshift)