diff options
| author | Daneyon Hansen <danehans@cisco.com> | 2015-02-25 05:49:40 +0000 |
|---|---|---|
| committer | Daneyon Hansen <danehans@cisco.com> | 2015-03-20 16:17:51 +0000 |
| commit | 5547b5fe786b7491d2e33f92c4082535f2bb56cf (patch) | |
| tree | c90551eafcd645f37de33e051913b91f5a126026 /docs/database-container-set.md | |
| parent | fb425db56db16ec4ac061a2ee49054eed4fc284a (diff) | |
| download | kolla-5547b5fe786b7491d2e33f92c4082535f2bb56cf.tar.gz kolla-5547b5fe786b7491d2e33f92c4082535f2bb56cf.zip | |
Implements: blueprint Implement a database container set
Previously, the database container was configured for use with
Kubernetes. This patch removed any k8s dependencies, adds a script
to manage mysql server.cnf settings and splits data and app
containers. Splitting the containers provides additional
portability and operational efficiencies compared to host mounts.
Change-Id: I80656450c02dda5f2959d187eec20d5877dc54a2
Diffstat (limited to 'docs/database-container-set.md')
| -rw-r--r-- | docs/database-container-set.md | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/docs/database-container-set.md b/docs/database-container-set.md new file mode 100644 index 000000000..b4a16388a --- /dev/null +++ b/docs/database-container-set.md @@ -0,0 +1,50 @@ +MariaDB Container Set +===================== + +The MariaDB database application has been organized into two containers, +known as a [container-set][] within the Kolla project. One container runs +the MariaDB application and the other stores the actual data. + +Operational efficiencies and service stability is provided by +separating the application from the stored data. For example, stored data +can be backed-up or restored without touching the MariaDB application +component. + +The containers work in a cooperative fashion by using [docker-compose][] +(aka Fig) to ensure the containers are co-located on the same host. +With docker-compose, you can manage the containers collectively +as a single unit. + +Here is a sample docker-compose yaml file for using both MariaDB containers: + +``` +mariadbdata: + image: kollaglue/centos-rdo-mariadb-data + volumes: + - /var/lib/mysql:/var/lib/mysql + - /var/log/mariadb:/var/log/mariadb + net: "host" + privileged: true +mariadbapp: + image: kollaglue/centos-rdo-mariadb-app + env_file: + - openstack.env + volumes_from: + - mariadbdata + net: "host" + ports: + - "3306:3306" + privileged: true +``` + +In addition to the MariaDB application being organized across two containers, the data +container follows the [data-only container][] design pattern. In this design pattern, +a dedicated container is used to perform a host mount and separate application +container(s) mount volumes from the data-only container instead of performing the host +mount directly. In the example above, the MariaDbApp container mounts the /var/lib/mysql +and /var/log/mariadb volumes through the MariaDbData container instead of mounting +these directly to the Docker host. + +[docker-compose]: http://www.fig.sh/ +[container-set]: https://review.openstack.org/#/c/153798/ +[data-only container]: http://www.tech-d.net/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/ |
