blob: 4eb86487ef980e0c57105a430f6696b75a6aa69a [file] [log] [blame]
Mohammed Nasera5467342024-04-30 00:34:16 -04001#################
2CSI Configuration
3#################
4
5This section details how to configure Container Storage Interfaces (CSI) for
6your Kubernetes cluster that Atmosphere runs on. You will need to follow the
7steps below to enable specific CSI drivers based on your storage requirements.
8
Mohammed Naserf8833b22024-06-26 09:46:57 -04009.. 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 Nasera5467342024-04-30 00:34:16 -040017********
18Ceph RBD
19********
20
21If you are using the Ceph storage solution that Atmosphere deploys out of the
22box, no additional configuration is required. The necessary settings are
23automatically applied during the installation process.
24
25***************
26Dell PowerStore
27***************
28
29For environments requiring the integration of PowerStore for storage,
30configure the PowerStore CSI driver by updating your Ansible inventory as
31follows:
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
46Ensure that you replace ``<FILL IN>`` with actual values relevant to your
47PowerStore configuration. This includes specifying the block protocol, which
48can either be Fibre Channel (FC) or iSCSI, depending on your network
49infrastructure.
50
Mohammed Naseredeb56a2024-06-17 20:43:27 -040051*********
52IBM Block
53*********
54
55If you're using a storage array that is compatible with the IBM Block CSI
56driver, 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
67Optionally, you can control the ``SpaceEfficiency`` setting which defaults to
68`thin` to enable thin provisioning. To change it to any other value, you
69can set the following variable:
70
71.. code-block:: yaml
72
73 ibm_block_csi_driver_space_efficiency: <FILL IN>
74
75Ensure that you replace ``<FILL IN>`` with actual values relevant to your IBM
76Block 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>`_
77documentation to help you determine the values to use.
78
Mohammed Nasera5467342024-04-30 00:34:16 -040079********
Mohammed Naserf8833b22024-06-26 09:46:57 -040080Portworx
81********
82
83If you are using a Pure Storage array for your block storage, you can use the
84Portworx CSI driver to integrate it with your Kubernetes cluster. Portworx
85automatically enables a custom license when integrated with Pure Storage
86arrays (FA/FB edition).
87
88To 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:
Mohammed Naserde35c272024-06-27 13:00:25 -040095 FlashBlades: []
Mohammed Naserf8833b22024-06-26 09:46:57 -040096 FlashArrays:
97 - MgmtEndPoint: <FILL IN>
98 APIToken: <FILL IN>
99
100For more information about how the ``portworx_pure_json`` variable is used,
101you 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 Nasera5467342024-04-30 00:34:16 -0400104StorPool
105********
106
107For environments requiring the integration of StorPool for storage, configure
108the 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
115The ``storpool_csi_template`` variable specifies the StorPool template to use
116for the deployment which is set to ``k8s`` in the example above.