Skip to content

Commit eebb67d

Browse files
authored
HPE GreenLake for File Storage beta docs (#216)
* GL4F CSI beta Signed-off-by: Michael Mattsson <[email protected]>
1 parent f7a7c8e commit eebb67d

File tree

6 files changed

+464
-0
lines changed

6 files changed

+464
-0
lines changed

docs/filex_csi_driver/deployment.md

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Overview
2+
3+
The HPE GreenLake for File Storage CSI Driver is deployed by using industry standard means, either a Helm chart or an Operator.
4+
5+
[TOC]
6+
7+
## Helm
8+
9+
[Helm](https://helm.sh) is the package manager for Kubernetes. Software is being delivered in a format designated as a "chart". Helm is a [standalone CLI](https://helm.sh/docs/intro/install/) that interacts with the Kubernetes API server using your `KUBECONFIG` file.
10+
11+
The official Helm chart for the HPE GreenLake for File Storage CSI Driver is hosted on [Artifact Hub](https://artifacthub.io/packages/helm/hpe-storage/hpe-greenlake-file-csi-driver). In an effort to avoid duplicate documentation, please see the chart for instructions on how to deploy the CSI driver using Helm.
12+
13+
- Go to the chart on [Artifact Hub](https://artifacthub.io/packages/helm/hpe-storage/hpe-greenlake-file-csi-driver).
14+
15+
!!! note
16+
It's possible to use the HPE CSI Driver for Kubernetes steps for v2.4.2 or later to mirror the required images to an internal registry for installing into an [air-gapped environment](../csi_driver/deployment.md#helm_for_air-gapped_environments).
17+
18+
## Operator
19+
20+
The [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) is based on the idea that software should be instantiated and run with a set of custom controllers in Kubernetes. It creates a native experience for any software running on Kubernetes.
21+
22+
### Red Hat OpenShift Container Platform
23+
24+
<!--
25+
The HPE GreenLake for File Storage CSI Operator is a fully certified Operator for OpenShift. There are a few tweaks needed and there's a separate section for OpenShift.
26+
27+
- See [Red Hat OpenShift](../partners/redhat_openshift/index.md) in the partner ecosystem section
28+
-->
29+
During the beta, it's only possible to sideload the HPE GreenLake for File Storage CSI Operator using the Operator SDK.
30+
31+
The installation procedures assumes the "hpe-storage" `Namespace` exists:
32+
33+
```text
34+
oc create ns hpe-storage
35+
```
36+
37+
<div id="scc" />First, deploy or [download]({{ config.site_url}}partners/redhat_openshift/examples/scc/hpe-filex-csi-scc.yaml) the SCC:
38+
39+
```text
40+
oc apply -f {{ config.site_url}}partners/redhat_openshift/examples/scc/hpe-filex-csi-scc.yaml
41+
```
42+
43+
Install the Operator:
44+
45+
```text
46+
operator-sdk run bundle --timeout 5m -n hpe-storage quay.io/hpestorage/filex-csi-driver-operator-bundle-ocp:v1.0.0-beta
47+
```
48+
49+
The next step is to create a `HPEGreenLakeFileCSIDriver` resource, this can also be done in the OpenShift cluster console.
50+
51+
```yaml fct_label="HPE GreenLake for File Storage CSI Operator v1.0.0-beta"
52+
# oc apply -f {{ config.site_url }}filex_csi_driver/examples/deployment/hpegreenlakefilecsidriver-v1.0.0-beta-sample.yaml
53+
{% include "examples/deployment/hpegreenlakefilecsidriver-v1.0.0-beta-sample.yaml" %}```
54+
55+
For reference, this is how the Operator is uninstalled:
56+
57+
```text
58+
operator-sdk cleanup hpe-filex-csi-operator -n hpe-storage
59+
```
60+
61+
## Add a Storage Backend
62+
63+
Once the CSI driver is deployed, two additional resources need to be created to get started with dynamic provisioning of persistent storage, a `Secret` and a `StorageClass`.
64+
65+
!!! tip
66+
Naming the `Secret` and `StorageClass` is entirely up to the user, however, to keep up with the examples on SCOD, it's highly recommended to use the names illustrated here.
67+
68+
### Secret Parameters
69+
70+
All parameters are mandatory and described below.
71+
72+
| Parameter | Description |
73+
| ----------- | ----------- |
74+
| endpoint | This is the management hostname or IP address of the actual backend storage system. |
75+
| username | Backend storage system username with the correct privileges to perform storage management. |
76+
| password | Backend storage system password. |
77+
78+
Example:
79+
80+
```yaml
81+
apiVersion: v1
82+
kind: Secret
83+
metadata:
84+
name: hpe-file-backend
85+
namespace: hpe-storage
86+
stringData:
87+
endpoint: 192.168.1.1
88+
username: my-csi-user
89+
password: my-secret-password
90+
```
91+
92+
Create the `Secret` using `kubectl`:
93+
94+
```text
95+
kubectl create -f secret.yaml
96+
```
97+
98+
!!! tip
99+
In a real world scenario it's more practical to name the `Secret` something that makes sense for the organization. It could be the hostname of the backend or the role it carries, i.e "hpe-greenlake-file-sanjose-prod".
100+
101+
Next step involves [creating a default StorageClass](using.md#base_storageclass_parameters).
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
apiVersion: storage.hpe.com/v1
2+
kind: HPEGreenLakeFileCSIDriver
3+
metadata:
4+
name: hpegreenlakefilecsidriver-sample
5+
spec:
6+
# Default values copied from <project_dir>/helm-charts/hpe-greenlake-file-csi-driver/values.yaml
7+
controller:
8+
affinity: {}
9+
labels: {}
10+
nodeSelector: {}
11+
resources:
12+
limits:
13+
cpu: 2000m
14+
memory: 1Gi
15+
requests:
16+
cpu: 100m
17+
memory: 128Mi
18+
tolerations: []
19+
disableNodeConformance: false
20+
imagePullPolicy: IfNotPresent
21+
images:
22+
csiAttacher: registry.k8s.io/sig-storage/csi-attacher:v4.6.1
23+
csiControllerDriver: quay.io/hpestorage/filex-csi-driver:v1.0.0-beta
24+
csiNodeDriver: quay.io/hpestorage/filex-csi-driver:v1.0.0-beta
25+
csiNodeDriverRegistrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1
26+
csiNodeInit: quay.io/hpestorage/filex-csi-init:v1.0.0-beta
27+
csiProvisioner: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1
28+
csiResizer: registry.k8s.io/sig-storage/csi-resizer:v1.11.1
29+
csiSnapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1
30+
kubeletRootDir: /var/lib/kubelet
31+
node:
32+
affinity: {}
33+
labels: {}
34+
nodeSelector: {}
35+
resources:
36+
limits:
37+
cpu: 2000m
38+
memory: 1Gi
39+
requests:
40+
cpu: 100m
41+
memory: 128Mi
42+
tolerations: []
43+
44+

docs/filex_csi_driver/index.md

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Introduction
2+
3+
A Container Storage Interface ([CSI](https://github.com/container-storage-interface/spec)) Driver for Kubernetes. The HPE GreenLake for File Storage CSI Driver perform data management operations on storage resources.
4+
5+
## Table of Contents
6+
7+
[TOC]
8+
9+
## Features and Capabilities
10+
11+
Below is the official table for CSI features we track and deem readily available for use after we've officially tested and validated it in the [platform matrix](#compatibility_and_support).
12+
13+
| Feature | K8s maturity | Since K8s version | HPE GreenLake for File Storage CSI Driver |
14+
|---------------------------|-------------------|-------------------|-------------------------------------------|
15+
| Dynamic Provisioning | GA | 1.13 | 1.0.0 |
16+
| Volume Expansion | GA | 1.24 | 1.0.0 |
17+
| Volume Snapshots | GA | 1.20 | 1.0.0 |
18+
| PVC Data Source | GA | 1.18 | 1.0.0 |
19+
| Generic Ephemeral Volumes | GA | 1.23 | 1.0.0 |
20+
21+
!!! tip
22+
Familiarize yourself with the basic requirements below for running the CSI driver on your Kubernetes cluster. It's then highly recommended to continue installing the CSI driver with either a [Helm chart](deployment.md#helm) or an [Operator](deployment.md#operator).
23+
24+
## Compatibility and Support
25+
26+
These are the combinations HPE has tested and can provide official support services around for each of the CSI driver releases.
27+
28+
!!! caution "Disclaimer"
29+
The HPE Greenlake for File Storage CSI Driver is currently **NOT** supported by HPE and is considered beta software.
30+
31+
<a name="latest_release"></a>
32+
#### HPE GreenLake for File Storage CSI Driver v1.0.0-beta
33+
34+
Release highlights:
35+
36+
* Initial beta release
37+
38+
<table>
39+
<tr>
40+
<th>Kubernetes</th>
41+
<td>1.28-1.31<sup>1</sup></td>
42+
</tr>
43+
<tr>
44+
<th>Helm Chart</th>
45+
<td><a href="https://artifacthub.io/packages/helm/hpe-storage/hpe-greenlake-for-file-csi-driver/1.0.0-beta">v1.0.0-beta</a> on ArtifactHub</td>
46+
</tr>
47+
<!--tr>
48+
<th>Operators</th>
49+
<td>
50+
<a href="https://operatorhub.io/operator/hpe-csi-operator/stable/hpe-csi-operator.v2.5.1">v2.5.1</a> on OperatorHub<br />
51+
<a href="https://catalog.redhat.com/software/container-stacks/detail/5e9874643f398525a0ceb004">v2.5.1</a> via OpenShift console
52+
</td>
53+
</tr-->
54+
<tr>
55+
<th>Worker&nbsp;OS</th>
56+
<td>
57+
Red Hat Enterprise Linux<sup>2</sup> 7.x, 8.x, 9.x, Red Hat CoreOS 4.14-4.16<br />
58+
Ubuntu 16.04, 18.04, 20.04, 22.04, 24.04<br />
59+
SUSE Linux Enterprise Server 15 SP4, SP5, SP6 and SLE Micro<sup>4</sup> equivalents
60+
</tr>
61+
<tr>
62+
<th>Platforms<sup>3</sup></th>
63+
<td>
64+
HPE GreenLake for File Storage MP OS 1.2 or later
65+
</td>
66+
</tr>
67+
<tr>
68+
<th>Data&nbsp;Protocols</th>
69+
<td>NFSv3 and NFSv4.1</td>
70+
</tr>
71+
<!--tr>
72+
<th>Blogs</th>
73+
<td>
74+
<a href="https://community.hpe.com/t5/around-the-storage-block/hpe-csi-driver-for-kubernetes-2-5-0-improved-stateful-workload/ba-p/7220864">HPE CSI Driver for Kubernetes 2.5.0: Improved stateful workload resilience and robustness</a>
75+
</td>
76+
</tr-->
77+
</table>
78+
79+
<small>
80+
<sup>1</sup> = For HPE Ezmeral Runtime Enterprise, SUSE Rancher, Mirantis Kubernetes Engine and others; Kubernetes clusters must be deployed within the currently supported range of "Worker OS" platforms listed in the above table. See [partner ecosystems](../partners) for other variations. Lowest tested and known working version is Kubernetes 1.21.<br />
81+
<sup>2</sup> = The HPE CSI Driver will recognize CentOS, AlmaLinux and Rocky Linux as RHEL derives and they are supported by HPE. While RHEL 7 and its derives will work, the host OS have been EOL'd and support is limited.<br/>
82+
<sup>3</sup> = Learn about each data platform's team [support commitment](../legal/support/index.md).<br/>
83+
<sup>4</sup> = SLE Micro nodes may need to be conformed manually, run `transactional-update -n pkg install nfs-client` and reboot if the CSI node driver doesn't start.<br/>
84+
</small>
85+
<!--
86+
87+
#### Release Archive
88+
89+
HPE currently supports up to three minor releases of the HPE CSI Driver for Kubernetes.
90+
91+
* [Unsupported releases](archive.md)
92+
93+
-->
94+
95+
## Known Limitations
96+
97+
* Always check with the Kubernetes vendor distribution which CSI features are available for use and supported by the vendor.
98+
* Inline Ephemeral Volumes are currently not supported. Use Generic Ephemeral Volumes instead as a workaround.

0 commit comments

Comments
 (0)