1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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 vs 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)
|