|
@@ -0,0 +1,100 @@
|
|
|
+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](https://docs.openshift.org/latest/dev_guide/volumes.html)" 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](https://docs.openshift.org/latest/architecture/additional_concepts/storage.html#persistent-volume-claims)
|
|
|
+to request persistent storage provided by [persistent
|
|
|
+volumes](https://docs.openshift.org/latest/architecture/additional_concepts/storage.html#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:
|
|
|
+
|
|
|
+- [MySQL](https://docs.openshift.org/latest/using_images/db_images/mysql.html)
|
|
|
+- [PostgreSQL](https://docs.openshift.org/latest/using_images/db_images/postgresql.html)
|
|
|
+- [MongoDB](https://docs.openshift.org/latest/using_images/db_images/mongodb.html)
|