Scott Dodson de133ff75c Sync latest db-templates and qucikstart-templates 9 years ago
..
README.md de133ff75c Sync latest db-templates and qucikstart-templates 9 years ago
mongodb-ephemeral-template.json de133ff75c Sync latest db-templates and qucikstart-templates 9 years ago
mongodb-persistent-template.json de133ff75c Sync latest db-templates and qucikstart-templates 9 years ago
mysql-ephemeral-template.json de133ff75c Sync latest db-templates and qucikstart-templates 9 years ago
mysql-persistent-template.json de133ff75c Sync latest db-templates and qucikstart-templates 9 years ago
postgresql-ephemeral-template.json de133ff75c Sync latest db-templates and qucikstart-templates 9 years ago
postgresql-persistent-template.json de133ff75c Sync latest db-templates and qucikstart-templates 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 vs 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: