OpenShift Environments

Red Hat’s OpenShift is an open source container application platform for the development, deployment and management of applications.

NuoDB supports two types of NuoDB deployment in OpenShift - Project Deployment and Cluster Deployment.

In a Project deployment, each new project for a NuoDB database contains its own copy of the templates and usually its own NuoDB Admin “domain”.

In a cluster deployment, a single central project contains all the NuoDB templates, and runs the NuoDB admin “domain”. In a cluster deployment, the “domain name” is the name of this single cluster-wide project - and is typically called “nuodb”.

Note: In Red Hat OpenShift deployments of NuoDB (and other containerized deployment models), NuoDB Admin (nuoadmin) is the only utility supported for domain and database management.

Cluster Deployments

The deployment type recommended by NuoDB is a cluster deployment. When running in OpenShift, NuoDB supports multiple NuoDB domains running in one OpenShift cluster, and supports multiple projects accessing databases from one or more NuoDB domains. In a cluster deployment, a dedicated project is set up where all the templates reside, and an HA administration domain (comprised of NuoDB Admin services). This administration domain may be shared with other application projects where Transaction Engines (TEs) can optionally be deployed.

The placement of the NuoDB TE pods can either be in an application or in the NuoDB project; this is a logical placement not a physical one. To optimize application runtime performance, the application pod and its preferred TE should be as closely co-located as possible, thereby reducing client-side connection latency. For example, the application and TE should be in the same pod or located on the same server node.

Note: NuoDB provides flexible load balancer features to control this, and allows you to decide on how close or distant clients are located to/from TEs.

The instructions in this section detail how to configure an administrative domain for a cluster deployment.

See the following topics: