Skip to content

Commit

Permalink
Updating specific instructions (#3066)
Browse files Browse the repository at this point in the history
* Updated Mongo instructions

Reflect that profiles can be created as part of application install

* Updated MySQL instructions

Reflect that profiles can be created as part of application install

* Updated Postgres instructions

Reflect that profiles can be created as part of application install

* Refactoring common profile instructions
  • Loading branch information
gmatev authored and Niraj Tolia committed Jun 1, 2018
1 parent 1d2cb72 commit c6e1619
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 63 deletions.
3 changes: 0 additions & 3 deletions docs/helm.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ how to install these Kanister-enabled Helm charts. Once installed, you
will need to create :ref:`ActionSets <tutorial>` to perform data
management actions on the data service.

.. include:: s3_config.rst


Kanister Helm Setup
===================

Expand Down
29 changes: 29 additions & 0 deletions docs/helm_instructions/create_profile.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
The command will also configure a location where artifacts resulting
from Kanister data operations such as backup should go. This is stored as a
``profiles.cr.kanister.io`` *CustomResource (CR)* which is then referenced in
Kanister ActionSets. Every ActionSet requires a Profile reference whether one
created as part of the application install or not. Support for creating an
ActionSet as part of install is simply for convenience. This CR can be shared
between Kanister-enabled application instances so one option is to only
create as part of the first instance.

.. note:: Prior to creating the Profile CR, you will need to do the following:

* Create a bucket for artifacts on your S3 store. This will be your
``s3_bucket`` parameter to the command.
* Obtain ``s3_api_key`` and ``s3_api_secret`` credentials for an
account with access to the bucket that you will use.
* Configure the permissions on the bucket to allow the account to
list, put, get, and delete.
* Make sure that your retention policy allows deletions so that artifacts
can be reclaimed based on your intended data backup retention.

.. note:: The ``s3_endpoint`` parameter is only required if you are using an
S3-compatible provider different from AWS.

If you are using an on-premises s3 provider, the endpoint specified needs be
accessible from within your Kubernetes cluster.

If, in your environment, the endpoint has a self-signed SSL certificate, include
``--set kanister.s3_verify_ssl=false`` in the above command to disable SSL
verification for the S3 operations in the blueprint.
25 changes: 12 additions & 13 deletions docs/helm_instructions/mongodb_instructions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Then install the sample MongoDB replica set application in its own namespace.
# Install Kanister-enabled MongoDB Replica Set
$ helm install kanister/kanister-mongodb-replicaset -n mongodb \
--namespace mongodb-test \
--set kanister.create_profile='true' \
--set kanister.s3_endpoint="https://my-custom-s3-provider:9000" \
--set kanister.s3_api_key="AKIAIOSFODNN7EXAMPLE" \
--set kanister.s3_api_secret="wJalrXUtnFEMI!K7MDENG!bPxRfiCYEXAMPLEKEY" \
Expand All @@ -37,26 +38,24 @@ Then install the sample MongoDB replica set application in its own namespace.
# Install Kanister-enabled MongoDB Replica Set
$ helm install kanister/kanister-mongodb-replicaset -n mongodb \
--namespace mongodb-test \
--set kanister.s3_endpoint="https://my-custom-s3-provider:9000" \
--set kanister.s3_api_key="AKIAIOSFODNN7EXAMPLE" \
--set kanister.s3_api_secret="wJalrXUtnFEMI!K7MDENG!bPxRfiCYEXAMPLEKEY" \
--set kanister.s3_bucket="kanister-bucket" \
--set resplicas=1 \
--set persistentVolume.size=2Gi
The settings in the command above represent the minimum recommended set for
your installation of a single node replica set.

.. note:: The ``s3_endpoint`` parameter is only required if you are using an
S3-compatible provider different from AWS.
.. only:: kanister

.. include:: ./create_profile.rst

If you are using an on-premises s3 provider, the endpoint specified needs be
accessible from within your Kubernetes cluster.
If not creating a Profile CR, it is possible to use an even simpler command.

.. code-block:: rst
# Install Kanister-enabled MongoDB Replica Set
$ helm install kanister/kanister-mongodb-replicaset -n mongodb \
--namespace mongodb-test \
--set persistentVolume.size=2Gi
If, in your environment, the endpoint has a self-signed SSL certificate, include
``--set kanister.s3_verify_ssl=false`` in the above command to disable SSL
verification for the S3 operations in the blueprint.
.. note:: The MongoDB replica set created by the above command will not be secured.
This is only acceptable for test purposes. If you would like to restrict access,
Expand Down
22 changes: 11 additions & 11 deletions docs/helm_instructions/mysql_instructions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Then install the sample MySQL application in its own namespace.
# Install Kanister-enabled MySQL
$ helm install kanister/kanister-mysql -n mysql --namespace mysql-test \
--set kanister.create_profile='true' \
--set kanister.s3_endpoint="https://my-custom-s3-provider:9000" \
--set kanister.s3_api_key="AKIAIOSFODNN7EXAMPLE" \
--set kanister.s3_api_secret="wJalrXUtnFEMI!K7MDENG!bPxRfiCYEXAMPLEKEY" \
Expand All @@ -35,26 +36,25 @@ Then install the sample MySQL application in its own namespace.
# Install Kanister-enabled MySQL
$ helm install kanister/kanister-mysql -n mysql --namespace mysql-test \
--set kanister.s3_endpoint="https://my-custom-s3-provider:9000" \
--set kanister.s3_api_key="AKIAIOSFODNN7EXAMPLE" \
--set kanister.s3_api_secret="wJalrXUtnFEMI!K7MDENG!bPxRfiCYEXAMPLEKEY" \
--set kanister.s3_bucket="kanister-bucket" \
--set mysqlRootPassword="asd#45@mysqlEXAMPLE" \
--set persistence.size=10Gi
The settings in the command above represent the minimum recommended set for
your installation.

.. note:: The ``s3_endpoint`` parameter is only required if you are using an
S3-compatible provider different from AWS.
.. only:: kanister

.. include:: ./create_profile.rst

If you are using an on-premises s3 provider, the endpoint specified needs be
accessible from within your Kubernetes cluster.
If not creating a Profile CR, it is possible to use an even simpler command.

If, in your environment, the endpoint has a self-signed SSL certificate, include
``--set kanister.s3_verify_ssl=false`` in the above command to disable SSL
verification for the S3 operations in the blueprint.
.. code-block:: rst
# Install Kanister-enabled MySQL
$ helm install kanister/kanister-mysql -n mysql --namespace mysql-test \
--set mysqlRootPassword="asd#45@mysqlEXAMPLE" \
--set persistence.size=10Gi
.. note:: It is highly recommended that you specify an explicit root password
for the MySQL application you are installing, even through the chart supports
Expand Down
29 changes: 9 additions & 20 deletions docs/helm_instructions/pgsql_instructions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Then install the sample PostgreSQL application in its own namespace.
# Install Kanister-enabled PostgreSQL
$ helm install kanister/kanister-postgresql -n postgresql \
--namespace postgresql-test \
--set kanister.create_profile='true' \
--set kanister.s3_endpoint="https://my-custom-s3-provider:9000" \
--set kanister.s3_api_key="AKIAIOSFODNN7EXAMPLE" \
--set kanister.s3_api_secret="wJalrXUtnFEMI!K7MDENG!bPxRfiCYEXAMPLEKEY" \
Expand All @@ -39,11 +40,6 @@ Then install the sample PostgreSQL application in its own namespace.
# Install Kanister-enabled PostgreSQL
$ helm install kanister/kanister-postgresql -n postgresql \
--namespace postgresql-test \
--set kanister.s3_endpoint="https://my-custom-s3-provider:9000" \
--set kanister.s3_api_key="AKIAIOSFODNN7EXAMPLE" \
--set kanister.s3_api_secret="wJalrXUtnFEMI!K7MDENG!bPxRfiCYEXAMPLEKEY" \
--set kanister.s3_bucket="kanister-bucket"
The settings in the command above represent the minimum recommended set for
your installation.
Expand All @@ -55,26 +51,19 @@ your installation.
frame, it is possible for the database to restart with only a
partial restore.

* Currently, it only fetches the latest base backup and applies all
available logs after that. Using Point-In-Time-Recovery (PITR)
values will be supported in an upcoming release.

* More hardening and error-checking is being implemented

.. note:: The ``s3_endpoint`` parameter is only required if you are using an
S3-compatible provider different from AWS.
.. only:: kanister

If ``kanister.s3_endpoint`` is not specified, you are using AWS S3,
and the S3 bucket is not in the default ``us-east-1`` region, you'll
need to include the bucket's region using the ``kanister.s3_region``
parameter.
.. include:: ./create_profile.rst

If you are using an on-premises s3 provider, the endpoint specified needs be
accessible from within your Kubernetes cluster.
If not creating a Profile CR, it is possible to use an even simpler command.

If, in your environment, the endpoint has a self-signed SSL certificate, include
``--set kanister.s3_verify_ssl=false`` in the above command to disable SSL
verification for the S3 operations in the blueprint.
.. code-block:: rst
# Install Kanister-enabled PostgreSQL
$ helm install kanister/kanister-postgresql -n postgresql \
--namespace postgresql-test \
.. note:: The above command will attempt to use dynamic storage provisioning
based on the the default storage class for your cluster. You will to need to
Expand Down
16 changes: 0 additions & 16 deletions docs/s3_config.rst

This file was deleted.

0 comments on commit c6e1619

Please sign in to comment.