Mohammed Naser | 90128aa | 2024-04-29 13:21:58 -0400 | [diff] [blame] | 1 | ################# |
| 2 | CSI Configuration |
| 3 | ################# |
| 4 | |
| 5 | This section details how to configure Container Storage Interfaces (CSI) for |
| 6 | your Kubernetes cluster that Atmosphere runs on. You will need to follow the |
| 7 | steps below to enable specific CSI drivers based on your storage requirements. |
| 8 | |
Mohammed Naser | afcf0a1 | 2024-05-19 00:13:27 +0200 | [diff] [blame] | 9 | .. admonition:: Storing secrets securely |
| 10 | :class: tip |
| 11 | |
| 12 | When configuring CSI drivers, it is important to store sensitive |
| 13 | information securely. You can use Ansible Vault to encrypt your inventory |
| 14 | file and store it in a secure location. For more information on how to |
| 15 | use Ansible Vault, refer to the `Ansible documentation <https://docs.ansible.com/ansible/latest/user_guide/vault.html>`_. |
| 16 | |
Mohammed Naser | 90128aa | 2024-04-29 13:21:58 -0400 | [diff] [blame] | 17 | ******** |
| 18 | Ceph RBD |
| 19 | ******** |
| 20 | |
| 21 | If you are using the Ceph storage solution that Atmosphere deploys out of the |
| 22 | box, no additional configuration is required. The necessary settings are |
| 23 | automatically applied during the installation process. |
| 24 | |
| 25 | *************** |
| 26 | Dell PowerStore |
| 27 | *************** |
| 28 | |
| 29 | For environments requiring the integration of PowerStore for storage, |
| 30 | configure the PowerStore CSI driver by updating your Ansible inventory as |
| 31 | follows: |
| 32 | |
| 33 | .. code-block:: yaml |
| 34 | |
| 35 | csi_driver: powerstore |
| 36 | powerstore_csi_config: |
| 37 | arrays: |
| 38 | - endpoint: https://<FILL IN>/api/rest |
| 39 | globalID: <FILL IN> |
| 40 | username: <FILL IN> |
| 41 | password: <FILL IN> |
| 42 | skipCertificateValidation: true |
| 43 | isDefault: true |
| 44 | blockProtocol: <FILL IN> # FC or iSCSI |
| 45 | |
| 46 | Ensure that you replace ``<FILL IN>`` with actual values relevant to your |
| 47 | PowerStore configuration. This includes specifying the block protocol, which |
| 48 | can either be Fibre Channel (FC) or iSCSI, depending on your network |
| 49 | infrastructure. |
| 50 | |
vexxhost-bot | 85f9420 | 2024-06-18 02:38:55 +0200 | [diff] [blame] | 51 | ********* |
| 52 | IBM Block |
| 53 | ********* |
| 54 | |
| 55 | If you're using a storage array that is compatible with the IBM Block CSI |
| 56 | driver, you can configure it by updating your Ansible inventory as follows: |
| 57 | |
| 58 | .. code-block:: yaml |
| 59 | |
| 60 | csi_driver: ibm_block |
| 61 | ibm_block_csi_driver_management_address: <FILL IN> |
| 62 | ibm_block_csi_driver_username: <FILL IN> |
| 63 | ibm_block_csi_driver_password: <FILL IN> |
| 64 | ibm_block_csi_driver_pool: <FILL IN> |
| 65 | ibm_block_csi_driver_io_group: <FILL IN> |
| 66 | |
| 67 | Optionally, you can control the ``SpaceEfficiency`` setting which defaults to |
| 68 | `thin` to enable thin provisioning. To change it to any other value, you |
| 69 | can set the following variable: |
| 70 | |
| 71 | .. code-block:: yaml |
| 72 | |
| 73 | ibm_block_csi_driver_space_efficiency: <FILL IN> |
| 74 | |
| 75 | Ensure that you replace ``<FILL IN>`` with actual values relevant to your IBM |
| 76 | Block configuration. You can use the `Creating a StorageClass <https://www.ibm.com/docs/en/stg-block-csi-driver/1.11.3?topic=configuring-creating-storageclass>`_ |
| 77 | documentation to help you determine the values to use. |
| 78 | |
Mohammed Naser | 90128aa | 2024-04-29 13:21:58 -0400 | [diff] [blame] | 79 | ******** |
Mohammed Naser | afcf0a1 | 2024-05-19 00:13:27 +0200 | [diff] [blame] | 80 | Portworx |
| 81 | ******** |
| 82 | |
| 83 | If you are using a Pure Storage array for your block storage, you can use the |
| 84 | Portworx CSI driver to integrate it with your Kubernetes cluster. Portworx |
| 85 | automatically enables a custom license when integrated with Pure Storage |
| 86 | arrays (FA/FB edition). |
| 87 | |
| 88 | To configure the Portworx CSI driver, update your Ansible inventory as follows: |
| 89 | |
| 90 | .. code-block:: yaml |
| 91 | |
| 92 | csi_driver: portworx |
| 93 | portworx_pure_flasharray_san_type: <FILL IN> # FC or ISCSI |
| 94 | portworx_pure_json: |
vexxhost-bot | d41f0de | 2024-06-22 03:01:23 +0200 | [diff] [blame] | 95 | FlashBlades: [] |
Mohammed Naser | afcf0a1 | 2024-05-19 00:13:27 +0200 | [diff] [blame] | 96 | FlashArrays: |
| 97 | - MgmtEndPoint: <FILL IN> |
| 98 | APIToken: <FILL IN> |
| 99 | |
| 100 | For more information about how the ``portworx_pure_json`` variable is used, |
| 101 | you can refer to the `Pure Storage FlashArray and FlashBlade JSON file reference <https://docs.portworx.com/portworx-enterprise/reference/pure-reference/pure-json-reference>`_. |
| 102 | |
| 103 | ******** |
Mohammed Naser | 90128aa | 2024-04-29 13:21:58 -0400 | [diff] [blame] | 104 | StorPool |
| 105 | ******** |
| 106 | |
| 107 | For environments requiring the integration of StorPool for storage, configure |
| 108 | the StorPool CSI driver by updating your Ansible inventory as follows: |
| 109 | |
| 110 | .. code-block:: yaml |
| 111 | |
| 112 | csi_driver: storpool |
| 113 | storpool_csi_template: k8s |
| 114 | |
| 115 | The ``storpool_csi_template`` variable specifies the StorPool template to use |
| 116 | for the deployment which is set to ``k8s`` in the example above. |