Scott Dodson 102bf1217d Sync platest imagestreams 9 years ago
..
README.md aab6d7dd10 Update sync db-templates, image-streams, and quickstart-templates 9 years ago
mongodb-ephemeral-template.json 102bf1217d Sync platest imagestreams 9 years ago
mongodb-persistent-template.json 102bf1217d Sync platest imagestreams 9 years ago
mysql-ephemeral-template.json aab6d7dd10 Update sync db-templates, image-streams, and quickstart-templates 9 years ago
mysql-persistent-template.json cef52c3a1a Install version dependent image streams for v1.0 and v1.1 9 years ago
postgresql-ephemeral-template.json aab6d7dd10 Update sync db-templates, image-streams, and quickstart-templates 9 years ago
postgresql-persistent-template.json cef52c3a1a Install version dependent image streams for v1.0 and v1.1 9 years ago

README.md

OpenShift 3 Database Examples

This directory contains example JSON templates to deploy databases in OpenShift. They can be used to immediately instantiate a database and expose it as a service in the current project, or to add a template that can be later used from the Web Console or the CLI.

The examples can also be tweaked to create new templates.

Ephemeral x Persistent

For each supported database, there are two template files.

Files named *-ephemeral-template.json use "emptyDir" volumes for data storage, which means that data is lost after a pod restart. This is tolerable for experimenting, but not suitable for production use.

The other templates, named *-persistent-template.json, use persistent volume claims to request persistent storage provided by persistent volumes, that must have been created upfront.

Usage

Instantiating a new database service

Use these instructions if you want to quickly deploy a new database service in your current project. Instantiate a new database service with this command:

$ oc new-app /path/to/template.json

Replace /path/to/template.json with an appropriate path, that can be either a local path or an URL. Example:

$ oc new-app https://raw.githubusercontent.com/openshift/origin/master/examples/db-templates/mongodb-ephemeral-template.json
--> Deploying template mongodb-ephemeral for "https://raw.githubusercontent.com/openshift/origin/master/examples/db-templates/mongodb-ephemeral-template.json"
 With parameters:
  DATABASE_SERVICE_NAME=mongodb
  MONGODB_USER=userJNX # generated
  MONGODB_PASSWORD=tnEDilMVrgjp5AI2 # generated
  MONGODB_DATABASE=sampledb
  MONGODB_ADMIN_PASSWORD=8bYEs8OlNYhVyMBs # generated
--> Creating resources ...
Service "mongodb" created
DeploymentConfig "mongodb" created
--> Success
Run 'oc status' to view your app.

The parameters listed in the output above can be tweaked by specifying values in the command line with the -p option:

$ oc new-app examples/db-templates/mongodb-ephemeral-template.json -p DATABASE_SERVICE_NAME=mydb -p MONGODB_USER=default
--> Deploying template mongodb-ephemeral for "examples/db-templates/mongodb-ephemeral-template.json"
     With parameters:
      DATABASE_SERVICE_NAME=mydb
      MONGODB_USER=default
      MONGODB_PASSWORD=RPvMbWlQFOevSowQ # generated
      MONGODB_DATABASE=sampledb
      MONGODB_ADMIN_PASSWORD=K7tIjDxDHHYCvFrJ # generated
--> Creating resources ...
    Service "mydb" created
    DeploymentConfig "mydb" created
--> Success
    Run 'oc status' to view your app.

Note that the persistent template requires an existing persistent volume, otherwise the deployment won't ever succeed.

Adding a database as a template

Use these instructions if, instead of instantiating a service right away, you want to load the template into an OpenShift project so that it can be used later. Create the template with this command:

$ oc create -f /path/to/template.json

Replace /path/to/template.json with an appropriate path, that can be either a local path or an URL. Example:

$ oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/db-templates/mongodb-ephemeral-template.json
template "mongodb-ephemeral" created

The new template is now available to use in the Web Console or with oc new-app.

More information

The usage of each supported database image is further documented in the links below: