Skip to content

Commit b5e530c

Browse files
Update Powermax Prerequisite (#1558)
1 parent 2d87b02 commit b5e530c

File tree

16 files changed

+550
-431
lines changed

16 files changed

+550
-431
lines changed

content/docs/concepts/csidriver/_index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ The CSI Drivers implement an interface between [CSI](https://kubernetes-csi.gith
2424
| <div style="text-align: left"> Volume Clone | yes | yes | yes | yes for LUN<br>no for NFS | yes |
2525
| <div style="text-align: left"> [Access Mode](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) for [volumeMode: Filesystem](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#volume-mode)| RWO, RWOP<br><br>ROX, RWX **with NFS ONLY** | RWO, RWX, ROX, RWOP | RWO, ROX, RWOP<br><br>RWX **with NFS ONLY** | RWO, RWOP<br><br>ROX, RWX **with NFS ONLY** | RWO, ROX, RWOP<br><br>RWX **with NFS ONLY** |
2626
| <div style="text-align: left"> Access Mode for `volumeMode: Block`| RWO, RWX, ROX, RWOP | Not Supported | RWX, ROX, RWOP | RWX, ROX, RWOP | RWO, RWX |
27-
| [Raw Block Volume](https://kubernetes.io/docs/concepts/storage/volume-pvc-datasource/) | yes | no | yes | yes | yes |
28-
| [CSI Ephemeral Volume](https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#csi-ephemeral-volumes) | yes | yes | yes | no | yes |
29-
| [Generic Ephemeral Volume](https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes) | yes | yes | yes | yes | yes |
27+
|<div style="text-align: left"> [Raw Block Volume](https://kubernetes.io/docs/concepts/storage/volume-pvc-datasource/) | yes | no | yes | yes | yes |
28+
|<div style="text-align: left"> [CSI Ephemeral Volume](https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#csi-ephemeral-volumes) | yes | yes | yes | no | yes |
29+
|<div style="text-align: left"> [Generic Ephemeral Volume](https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes) | yes | yes | yes | yes | yes |
3030
| <div style="text-align: left"> Topology | yes | yes | yes | yes | yes |
3131
| <div style="text-align: left"> Multi-array | yes | yes | yes | yes | yes |
3232
| <div style="text-align: left"> Volume Health Monitoring | yes | yes | yes | yes | yes |

content/docs/concepts/observability/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Container Storage Modules for Observability provides the following capabilities:
3636
| - | :-: | :-: | :-: | :-: | :-: |
3737
| <div style="text-align: left"> Collect and expose Volume Metrics via the OpenTelemetry Collector | Yes | Yes | Yes | Yes | No |
3838
| <div style="text-align: left"> Collect and expose File System Metrics via the OpenTelemetry Collector | Yes | No | No | No | No |
39-
| <div style="text-align: left"> Collect and expose export (k8s) node metrics via the OpenTelemetry Collector | Yes | No | No | Yes | No |
39+
| <div style="text-align: left"> Collect and expose export (k8s) node metrics via the OpenTelemetry Collector | No | No | Yes | No | No |
4040
| <div style="text-align: left"> Collect and expose block storage metrics via the OpenTelemetry Collector | Yes | No | Yes | Yes | No |
4141
| <div style="text-align: left"> Collect and expose file storage metrics via the OpenTelemetry Collector | Yes | Yes | No | No | No |
4242
| <div style="text-align: left"> Non-disruptive config changes | Yes | Yes | Yes | Yes | No |

content/docs/concepts/replication/_index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ Replication provides the following capabilities:
2525
| Capability | PowerStore | PowerScale | PowerFlex | PowerMax | Unity |
2626
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |:----------:| :--------: | :-------: |:--------:| :---: |
2727
| <div style="text-align: left">Replicate data using native storage array based replication | Yes | Yes | Yes | Yes | No |
28-
| <div style="text-align: left">Asynchronous file volume replication | Yes | Yes | No | No | No |
29-
| <div style="text-align: left">Asynchronous block volume replication | N/A | N/A | Yes | Yes | No |
28+
| <div style="text-align: left">Asynchronous file volume replication | No | Yes | No | No | No |
29+
| <div style="text-align: left">Asynchronous block volume replication | Yes | N/A | Yes | Yes | No |
3030
| <div style="text-align: left">Synchronous file volume replication | No | No | No | No | No |
31-
| <div style="text-align: left">Synchronous block volume replication | N/A | N/A | No | Yes | No |
32-
| <div style="text-align: left">Active-Active (Metro) block volume replication | N/A | N/A | No | Yes | No |
31+
| <div style="text-align: left">Synchronous block volume replication | Yes | N/A | No | Yes | No |
32+
| <div style="text-align: left">Active-Active (Metro) block volume replication | Yes | N/A | No | Yes | No |
3333
| <div style="text-align: left">Active-Active (Metro) file volume replication | No | No | No | No | No |
3434
| <div style="text-align: left">Create `PersistentVolume` objects in the cluster representing the replicated volume | Yes | Yes | Yes | Yes | No |
3535
| <div style="text-align: left">Create `DellCSIReplicationGroup` objects in the cluster | Yes | Yes | Yes | Yes | No |

content/docs/getting-started/installation/kubernetes/powerflex/csmoperator/csm-modules/replication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ description: >
66
Installation of CSM for Replication
77
---
88

9-
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md">}}
9+
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md" hideClasses="default" >}}

content/docs/getting-started/installation/kubernetes/powermax/csmoperator/_index.md

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -55,29 +55,36 @@ To deploy the Operator, follow the instructions available [here](../../../operat
5555

5656
3. **Create Powermax Array Configmap:**
5757

58-
**Note:** `powermax-array-config` is deprecated and remains for backward compatibility only. You can skip creating it and instead add values for X_CSI_MANAGED_ARRAYS, X_CSI_TRANSPORT_PROTOCOL, and X_CSI_POWERMAX_PORTGROUPS in the sample files.
58+
**Note:** `powermax-array-config` is deprecated and remains for backward compatibility only. You can skip creating it and instead add values for X_CSI_MANAGED_ARRAYS, X_CSI_TRANSPORT_PROTOCOL, and X_CSI_POWERMAX_PORTGROUPS in the sample files.
5959

60-
Create a configmap using the sample file [here](https://github.com/dell/csi-powermax/blob/main/samples/configmap/powermax-array-config.yaml). Fill in the appropriate values for driver configuration.
60+
Create a configmap using the sample file [here](https://github.com/dell/csi-powermax/blob/main/samples/configmap/powermax-array-config.yaml). Fill in the appropriate values for driver configuration.
6161
```yaml
62-
# To create this configmap use: kubectl create -f powermax-array-config.yaml
63-
apiVersion: v1
64-
kind: ConfigMap
65-
metadata:
66-
name: powermax-array-config
67-
namespace: powermax
68-
data:
69-
powermax-array-config.yaml: |
70-
# List of comma-separated port groups (ISCSI only). Example: PortGroup1, portGroup2 Required for iSCSI only
71-
X_CSI_POWERMAX_PORTGROUPS: ""
72-
# Choose which transport protocol to use (ISCSI, FC, NVMETCP, auto) defaults to auto if nothing is specified
73-
X_CSI_TRANSPORT_PROTOCOL: ""
74-
# IP address of the Unisphere for PowerMax (Required), Defaults to https://0.0.0.0:8443
75-
X_CSI_POWERMAX_ENDPOINT: "https://10.0.0.0:8443"
76-
# List of comma-separated array ID(s) which will be managed by the driver (Required)
77-
X_CSI_MANAGED_ARRAYS: "000000000000,000000000000,"
62+
# To create this configmap use: kubectl create -f powermax-array-config.yaml
63+
apiVersion: v1
64+
kind: ConfigMap
65+
metadata:
66+
name: powermax-array-config
67+
namespace: powermax
68+
data:
69+
powermax-array-config.yaml: |
70+
# List of comma-separated port groups (ISCSI only). Example: PortGroup1, portGroup2 Required for iSCSI only
71+
X_CSI_POWERMAX_PORTGROUPS: ""
72+
# Choose which transport protocol to use (ISCSI, FC, NVMETCP, auto) defaults to auto if nothing is specified
73+
X_CSI_TRANSPORT_PROTOCOL: ""
74+
# IP address of the Unisphere for PowerMax (Required), Defaults to https://0.0.0.0:8443
75+
X_CSI_POWERMAX_ENDPOINT: "https://10.0.0.0:8443"
76+
# List of comma-separated array ID(s) which will be managed by the driver (Required)
77+
X_CSI_MANAGED_ARRAYS: "000000000000,000000000000,"
7878
```
7979

80-
4. **Install Driver**
80+
4. **Create the Reverse Proxy TLS Secret**
81+
82+
Referencing the TLS certificate and key created in the [CSI PowerMax Reverse Proxy](../prerequisite#csi-powermax-reverse-proxy) prerequisite, create the `csirevproxy-tls-secret` secret.
83+
```bash
84+
oc create secret -n powermax tls csirevproxy-tls-secret --cert=tls.crt --key=tls.key
85+
```
86+
87+
5. **Install Driver**
8188

8289
i. **Create a CR (Custom Resource)** for PowerMax using the sample files provided
8390

@@ -135,15 +142,15 @@ To deploy the Operator, follow the instructions available [here](../../../operat
135142
```
136143
</ul>
137144

138-
5. **Verify the installation** as mentioned below
145+
6. **Verify the installation** as mentioned below
139146

140147
- Check if ContainerStorageModule CR is created successfully using the command below:
141148
```bash
142149
kubectl get csm/powermax -n powermax -o yaml
143150
```
144151
* Check the status of the CR to verify if the driver installation is in the `Succeeded` state. If the status is not `Succeeded`, see the [Troubleshooting guide](../troubleshooting/#my-dell-csi-driver-install-failed-how-do-i-fix-it) for more information.
145152

146-
6. Refer [Volume Snapshot Class](https://github.com/dell/csi-powermax/tree/main/samples/volumesnapshotclass) and [Storage Class](https://github.com/dell/csi-powermax/tree/main/samples/storageclass) for the sample files.
153+
7. Refer [Volume Snapshot Class](https://github.com/dell/csi-powermax/tree/main/samples/volumesnapshotclass) and [Storage Class](https://github.com/dell/csi-powermax/tree/main/samples/storageclass) for the sample files.
147154

148155
## Other features to enable
149156
### Dynamic Logging Configuration

content/docs/getting-started/installation/kubernetes/powermax/csmoperator/csm-modules/replication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ description: >
66
Installation of CSM for Replication
77
---
88

9-
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md">}}
9+
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md" hideClasses="default" >}}

content/docs/getting-started/installation/kubernetes/powermax/helm/_index.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -175,25 +175,31 @@ Install Helm 3 on the master node before you install CSI Driver for PowerMax.
175175
176176
7. Confirm the value of `global.useSecret` is set to `true`.
177177
178-
8. Using the TLS certificate and key created in the [CSI PowerMax Reverse Proxy](../prerequisite/#csi-powermax-reverse-proxy) prerequisite step, provide the base64 encoded certificate and key contents to `csireverseproxy.certManager.certificateFile` and `csireverseproxy.certManager.privateKeyFile`.
178+
8. Using the TLS certificate and key created in the [CSI PowerMax Reverse Proxy](../prerequisite/#csi-powermax-reverse-proxy) prerequisite step, base64 encode the contents of each file and provide the contents to `csireverseproxy.certManager.certificateFile` and `csireverseproxy.certManager.privateKeyFile`.
179+
180+
To encode the certificate and key:
181+
```bash
182+
cat tls.crt | base64 -w 0
183+
cat tls.key | base64 -w 0
184+
```
185+
Example:
179186
```yaml
180187
csireverseproxy:
181188
tlsSecret: csirevproxy-tls-secret
182189
deployAsSidecar: false
183190
port: 2222
184-
useSecret: true
185191
certManager:
186192
selfSignedCert: false
187-
certificateFile: |
188-
dGhpcyBzdHJpbmcgc2VydmVzIGFzIGFuIGV4YW1wbGUgb2Ygd2hhdCBhIGJhc2U2NCBlbmNvZGVk
189-
IGNlcnRpZmljYXRlIGZpbGUgbWlnaHQgbG9vayBsaWtlIGluIG15LXBvd2VybWF4LXNldHRpbmdz
190-
LnlhbWwgZmlsZQo=
191-
privateKeyFile: |
192-
dGhpcyBzdHJpbmcgc2VydmVzIGFzIGFuIGV4YW1wbGUgb2Ygd2hhdCBhIGJhc2U2NCBlbmNvZGVk
193-
IHByaXZhdGUga2V5IG1pZ2h0IGxvb2sgbGlrZSBpbiBteS1wb3dlcm1heC1zZXR0aW5ncy55YW1s
194-
IGZpbGUK
193+
certificateFile: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmp1c3QgYW4gZXhhbXBsZSBjZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
194+
privateKeyFile: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpqdXN0IGFuIGV4YW1wbGUgdGxzIGtleQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
195195
```
196-
9. Install the driver using `csi-install.sh` bash script in the `dell-csi-helm-installer` directory by running
196+
197+
9. Install cert-manager to manage CA certificate validation and renewal.
198+
```bash
199+
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.yaml
200+
```
201+
202+
10. Install the driver using `csi-install.sh` bash script in the `dell-csi-helm-installer` directory by running
197203
```bash
198204
./csi-install.sh --namespace powermax --values ./my-powermax-settings.yaml --helm-charts-version <version>
199205
```

content/docs/getting-started/installation/kubernetes/powermax/prerequisite/_index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ Use a tool such as `openssl` to generate this secret using the example below:
7171
openssl genrsa -out tls.key 2048
7272
openssl req -new -key tls.key -out tls.csr -config openssl.cnf
7373
openssl x509 -req -in tls.csr -signkey tls.key -out tls.crt -days 3650 -extensions req_ext -extfile openssl.cnf
74-
kubectl create secret -n <namespace> tls csirevproxy-tls-secret --cert=tls.crt --key=tls.key
7574
```
75+
Make note of the newly created tls.crt and tls.key files as they will be referenced later to create Kubernetes Secret resources.
7676

7777
{{< tabpane text=true lang="en" >}} {{% tab header="Fibre Channel" lang="en" %}}
7878

@@ -143,10 +143,10 @@ NVMe/TCP protocols with the CSI PowerMax driver:
143143
- The NVMe modules may not be available after a node reboot. Loading the modules
144144
at startup is recommended.
145145

146-
> Starting with OCP 4.14 NVMe/TCP is enabled by default on RCOS nodes.
147-
148146
**Cluster requirements**
149147

148+
- Kubernetes nodes connecting to Dell storage arrays must use unique host NVMe Qualified Names (NQNs).
149+
150150
- The driver requires the NVMe command-line interface (nvme-cli) to manage the
151151
NVMe clients and targets. The NVMe CLI tool is installed in the host using the
152152
following command on RPM oriented Linux distributions.

content/docs/getting-started/installation/kubernetes/powerscale/csmoperator/csm-modules/replication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ description: >
66
Installation of CSM for Replication
77
---
88

9-
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md">}}
9+
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md" hideClasses="default" >}}

content/docs/getting-started/installation/openshift/powerflex/csmoperator/csm-modules/replication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ description: >
66
Installation of CSM for Replication
77
---
88

9-
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md">}}
9+
{{<include file="content/docs/getting-started/installation/operator/modules/replication.md" hideClasses="default" >}}

0 commit comments

Comments
 (0)