diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/database-container-set.md | 50 | ||||
| -rw-r--r-- | docs/integration-guide.md | 5 |
2 files changed, 52 insertions, 3 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/ diff --git a/docs/integration-guide.md b/docs/integration-guide.md index d1127896d..19abe6f65 100644 --- a/docs/integration-guide.md +++ b/docs/integration-guide.md @@ -42,7 +42,6 @@ all containers. This allows a simple method of ensuring every type of node ### Environment Variable KEY/VALUE pairs ADMIN_TENANT_NAME=<admin> - tenant name - DB_ROOT_PASSWORD=<mysql root password> - defines the MYSQL root password FLAT_INTERFACE=<nova or neutron networking flat interface device name> GLANCE_API_SERVICE_HOST=<IP> - address where glance API is running> GLANCE_DB_NAME=<glance> - DB name of glance service @@ -58,8 +57,8 @@ all containers. This allows a simple method of ensuring every type of node KEYSTONE_AUTH_PROTOCOL=<http> - The keystone authentication protocol KEYSTONE_DB_PASSWORD=<password> - The password used to access Keystone in the DB KEYSTONE_PUBLIC_SERVICE_HOST=<IP> - The IP address where Keystone is running - MARIADB_SERVICE_HOST=<IP> - The IP Address where mariadb is running - MYSQL_ROOT_PASSWORD=<password> - The MYSQL password + MARIADB_ROOT_PASSWORD=<mariadb root password> - defines the MariaDB root password + MARIADB_SERVICE_HOST=<IP> - The IP Address where Mariadb is running NETWORK_MANAGER=<nova|neutron> - Use Nova or Neutron networking NOVA_API_SERVICE_HOST=<IP> - The IP Address where the Nova API Service is hosted NOVA_DB_NAME=<nova> - The name of the nova entry in the database |
