 f125a8b892
			
		
	
	f125a8b892
	
	
	
		
			
			This change addresses a long-standing issue in rST documentation imported from XML.
That import process added backslash escapes in front of various characters. The three
most common being '(', ')', and '_'.
These instances are removed.
Signed-off-by: Ron Stone <ronald.stone@windriver.com>
Change-Id: Id43a9337ffcd505ccbdf072d7b29afdb5d2c997e
		
	
		
			
				
	
	
		
			198 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			198 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 
 | |
| .. csl1561030322454
 | |
| .. _enable-rbd-readwriteonly-additional-storage-classes:
 | |
| 
 | |
| ===================================================
 | |
| Enable RBD ReadWriteOnly Additional Storage Classes
 | |
| ===================================================
 | |
| 
 | |
| Additional storage classes can be added to the default |RBD| provisioner
 | |
| service.
 | |
| 
 | |
| .. rubric:: |context|
 | |
| 
 | |
| Some reasons for adding an additional storage class include:
 | |
| 
 | |
| .. _enable-rbd-readwriteonly-additional-storage-classes-ul-nz1-r3q-43b:
 | |
| 
 | |
| -   managing Ceph resources for particular namespaces in a separate Ceph
 | |
|     pool; simply for Ceph partitioning reasons
 | |
| 
 | |
| -   using an alternate Ceph Storage Tier, for example. with faster drives
 | |
| 
 | |
| A modification to the configuration (Helm overrides) of the
 | |
| |RBD| provisioner service is required to enable an additional storage class
 | |
| 
 | |
| The following example that illustrates adding a second storage class to be
 | |
| utilized by a specific namespace.
 | |
| 
 | |
| .. note::
 | |
|     Due to limitations with templating and merging of overrides, the entire
 | |
|     storage class must be redefined in the override when updating specific
 | |
|     values.
 | |
| 
 | |
| .. rubric:: |proc|
 | |
| 
 | |
| #.  List installed Helm chart overrides for the platform-integ-apps.
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ system helm-override-list platform-integ-apps
 | |
|         +--------------------+----------------------+
 | |
|         | chart name         | overrides namespaces |
 | |
|         +--------------------+----------------------+
 | |
|         | ceph-pools-audit   | ['kube-system']      |
 | |
|         | cephfs-provisioner | ['kube-system']      |
 | |
|         | rbd-provisioner    | ['kube-system']      |
 | |
|         +--------------------+----------------------+
 | |
| 
 | |
| #.  Review existing overrides for the rbd-provisioner chart. You will refer
 | |
|     to this information in the following step.
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)$ system helm-override-show platform-integ-apps rbd-provisioner kube-system
 | |
| 
 | |
| #.  Create an overrides yaml file defining the new namespaces.
 | |
| 
 | |
|     In this example we will create the file
 | |
|     ``/home/sysadmin/update-storageclass.yaml`` with the following content:
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ cat <<EOF > ~/update-storageclass.yaml
 | |
|         classes:
 | |
|         - additionalNamespaces: [default, kube-public, new-app, new-app2, new-app3]
 | |
|           chunk_size: 64
 | |
|           crush_rule_name: storage_tier_ruleset
 | |
|           name: general
 | |
|           pool_name: kube-rbd
 | |
|           replication: 1
 | |
|           userId: ceph-pool-kube-rbd
 | |
|           userSecretName: ceph-pool-kube-rbd
 | |
|         - additionalNamespaces: [ new-sc-app ]
 | |
|           chunk_size: 64
 | |
|           crush_rule_name: storage_tier_ruleset
 | |
|           name: special-storage-class
 | |
|           pool_name: new-sc-app-pool
 | |
|           replication: 1
 | |
|           userId: ceph-pool-new-sc-app
 | |
|           userSecretName: ceph-pool-new-sc-app
 | |
|         EOF
 | |
| 
 | |
| #.  Apply the overrides file to the chart.
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ system helm-override-update --values /home/sysadmin/update-storageclass.yaml platform-integ-apps rbd-provisioner kube-system
 | |
|         +----------------+-----------------------------------------+
 | |
|         | Property       | Value                                   |
 | |
|         +----------------+-----------------------------------------+
 | |
|         | name           | rbd-provisioner                         |
 | |
|         | namespace      | kube-system                             |
 | |
|         | user_overrides | classes:                                |
 | |
|         |                | - additionalNamespaces:                 |
 | |
|         |                |   - default                             |
 | |
|         |                |   - kube-public                         |
 | |
|         |                |   - new-app                             |
 | |
|         |                |   - new-app2                            |
 | |
|         |                |   - new-app3                            |
 | |
|         |                |   chunk_size: 64                        |
 | |
|         |                |   crush_rule_name: storage_tier_ruleset |
 | |
|         |                |   name: general                         |
 | |
|         |                |   pool_name: kube-rbd                   |
 | |
|         |                |   replication: 1                        |
 | |
|         |                |   userId: ceph-pool-kube-rbd            |
 | |
|         |                |   userSecretName: ceph-pool-kube-rbd    |
 | |
|         |                | - additionalNamespaces:                 |
 | |
|         |                |   - new-sc-app                          |
 | |
|         |                |   chunk_size: 64                        |
 | |
|         |                |   crush_rule_name: storage_tier_ruleset |
 | |
|         |                |   name: special-storage-class           |
 | |
|         |                |   pool_name: new-sc-app-pool            |
 | |
|         |                |   replication: 1                        |
 | |
|         |                |   userId: ceph-pool-new-sc-app          |
 | |
|         |                |   userSecretName: ceph-pool-new-sc-app  |
 | |
|         +----------------+-----------------------------------------+
 | |
| 
 | |
| #.  Confirm that the new overrides have been applied to the chart.
 | |
| 
 | |
|     The following output has been edited for brevity.
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ system helm-override-show platform-integ-apps rbd-provisioner kube-system
 | |
|         +--------------------+------------------------------------------------------+
 | |
|         | Property           | Value                                                |
 | |
|         +--------------------+------------------------------------------------------+
 | |
|         | attributes         | enabled: true                                        |
 | |
|         |                    |                                                      |
 | |
|         | combined_overrides | ...                                                  |
 | |
|         |                    |                                                      |
 | |
|         | name               |                                                      |
 | |
|         | namespace          |                                                      |
 | |
|         | system_overrides   | ...                                                  |
 | |
|         |                    |                                                      |
 | |
|         | user_overrides     | classes:                                             |
 | |
|         |                    | - additionalNamespaces:                              |
 | |
|         |                    |   - default                                          |
 | |
|         |                    |   - kube-public                                      |
 | |
|         |                    |   - new-app                                          |
 | |
|         |                    |   - new-app2                                         |
 | |
|         |                    |   - new-app3                                         |
 | |
|         |                    |   chunk_size: 64                                     |
 | |
|         |                    |   crush_rule_name: storage_tier_ruleset              |
 | |
|         |                    |   name: general                                      |
 | |
|         |                    |   pool_name: kube-rbd                                |
 | |
|         |                    |   replication: 1                                     |
 | |
|         |                    |   userId: ceph-pool-kube-rbd                         |
 | |
|         |                    |   userSecretName: ceph-pool-kube-rbd                 |
 | |
|         |                    | - additionalNamespaces:                              |
 | |
|         |                    |   - new-sc-app                                       |
 | |
|         |                    |   chunk_size: 64                                     |
 | |
|         |                    |   crush_rule_name: storage_tier_ruleset              |
 | |
|         |                    |   name: special-storage-class                        |
 | |
|         |                    |   pool_name: new-sc-app-pool                         |
 | |
|         |                    |   replication: 1                                     |
 | |
|         |                    |   userId: ceph-pool-new-sc-app                       |
 | |
|         |                    |   userSecretName: ceph-pool-new-sc-app               |
 | |
|         +--------------------+------------------------------------------------------+
 | |
| 
 | |
| #.  Apply the overrides.
 | |
| 
 | |
|     #.  Run the :command:`application-apply` command.
 | |
| 
 | |
|         .. code-block:: none
 | |
| 
 | |
|             ~(keystone_admin)]$ system application-apply platform-integ-apps
 | |
|             +---------------+--------------------------------------+
 | |
|             | Property      | Value                                |
 | |
|             +---------------+--------------------------------------+
 | |
|             | active        | True                                 |
 | |
|             | app_version   | 1.0-62                               |
 | |
|             | created_at    | 2022-12-14T04:14:08.878186+00:00     |
 | |
|             | manifest_file | fluxcd-manifests                     |
 | |
|             | manifest_name | platform-integ-apps-fluxcd-manifests |
 | |
|             | name          | platform-integ-apps                  |
 | |
|             | progress      | None                                 |
 | |
|             | status        | applying                             |
 | |
|             | updated_at    | 2022-12-14T04:45:09.204231+00:00     |
 | |
|             +---------------+--------------------------------------+
 | |
| 
 | |
|     #.  Monitor progress using the :command:`application-list` command.
 | |
| 
 | |
|         .. code-block:: none
 | |
| 
 | |
|             ~(keystone_admin)]$ system application-list
 | |
|             +--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
 | |
|             | application              | version | manifest name                             | manifest file    | status   | progress  |
 | |
|             +--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
 | |
|             | platform-integ-apps      | 1.0-62  | platform-integ-apps-fluxcd-manifests      | fluxcd-manifests | applied  | completed |
 | |
|             +--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
 | |
| 
 | |
|     You can now create and mount persistent volumes from the new |RBD|
 | |
|     provisioner's **special** storage class from within the **new-sc-app**
 | |
|     application-specific namespace.
 | |
| 
 | |
| 
 |