1
0
mirror of https://github.com/minio/docs.git synced 2025-07-30 07:03:26 +03:00

Improving tenant deployment guidance for PV/PVC

This commit is contained in:
Ravind Kumar
2022-09-20 18:05:57 -04:00
committed by Ravind Kumar
parent af0fc05bc6
commit 4385d06941

View File

@ -124,60 +124,20 @@ See :ref:`deploy-operator-kubernetes` for complete documentation on deploying th
Take note of this value before the slash for use in this procedure. Take note of this value before the slash for use in this procedure.
Locally Attached Drives Storage as Persistent Volumes
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinIO *strongly recommends* using locally attached drives on each node intended MinIO automatically generates :kube-docs:`Persistent Volume Claims (PVC) <concepts/storage/persistent-volumes/#persistentvolumeclaims>` as part of deploying a MinIO Tenant.
to support the MinIO Tenant. MinIOs strict read-after-write and The Operator generates one PVC for each volume in the tenant *plus* two PVC to support collecting Tenant Metrics and logs.
list-after-write consistency model requires local disk filesystems (xfs, ext4, For example, deploying a Tenant with 16 volumes requires 18 (16 + 2) ``PV``.
etc.). MinIO also shows best performance with locally-attached drives.
MinIO automatically generates :kube-docs:`Persistent Volume Claims (PVC) MinIO can use any Kubernetes Persistent Volume that supports the :kube-docs:`ReadWriteOnce <concepts/storage/persistent-volumes/#access-modes>` access mode.
<concepts/storage/persistent-volumes/#persistentvolumeclaims>` as part of MinIO's consistency guarantees require the exclusive storage access that ``ReadWriteOnce`` provides.
deploying a MinIO Tenant. The Operator generates one PVC for each volume in the Defer to the documentation for your preferred Persistent Volume provider or plugin as to whether it supports the ``ReadWriteOnce`` access mode.
tenant *plus* two PVC to support collecting Tenant Metrics and logs. For
example, deploying a Tenant with 16 volumes requires 18 (16 + 2) ``PV``.
This procedure uses the MinIO :minio-git:`DirectPV <directpv>` driver to For Kubernetes clusters where worker nodes have Direct Attached Storage, MinIO strongly recommends using the :minio-git:`DirectPV CSI driver>`.
automatically provision Persistent Volumes from locally attached drives to DirectPV provides a distributed persistent volume manager that can discover, format, mount, schedule, and monitor drives across Kubernetes nodes.
support the generated PVC. See the :minio-git:`DirectPV Documentation DirectPV addresses the limitations of manually provisioning and monitoring ``local`` or ``hostPath`` Persistent Volumes.
<directpv/blob/master/README.md>` for installation and configuration
instructions.
For clusters which cannot deploy MinIO DirectPV,
:kube-docs:`Local Persistent Volumes <concepts/storage/volumes/#local>`.
The following tabs provide example YAML objects for a local persistent
volume and a supporting
:kube-docs:`StorageClass <concepts/storage/storage-classes/>`:
.. tab-set::
.. tab-item:: Local Persistent Volume
The following YAML describes a :kube-docs:`Local Persistent Volume
<concepts/storage/volumes/#local>`:
.. include:: /includes/k8s/deploy-tenant-requirements.rst
:start-after: start-local-persistent-volume
:end-before: end-local-persistent-volume
Replace values in brackets ``<VALUE>`` with the appropriate
value for the local drive.
.. tab-item:: Storage Class
The following YAML describes a
:kube-docs:`StorageClass <concepts/storage/storage-classes/>` that
meets the requirements for a MinIO Tenant:
.. include:: /includes/k8s/deploy-tenant-requirements.rst
:start-after: start-storage-class
:end-before: end-storage-class
The storage class *must* have ``volumeBindingMode: WaitForFirstConsumer``.
Ensure all Persistent Volumes provisioned to support the MinIO Tenant
use this storage class.
Deploy a Tenant using the MinIO Operator Console Deploy a Tenant using the MinIO Operator Console
------------------------------------------------ ------------------------------------------------
@ -277,10 +237,9 @@ Settings marked with an asterisk :guilabel:`*` are *required*:
The Operator supports at most *one* MinIO Tenant per namespace. The Operator supports at most *one* MinIO Tenant per namespace.
* - :guilabel:`Storage Class` * - :guilabel:`Storage Class`
- Specify the Kubernetes Storage Class the Operator uses when generating Persistent Volume Claims for the Tenant. - Specify the Kubernetes Storage Class the Operator uses when generating Persistent Volume Claims for the Tenant.
This procedure assumes using the :minio-git:`DirectPV <directpv>` storage class ``directpv-min-io``. Ensure the specified storage class has sufficient available Persistent Volume resources to match each generated Persistent Volume Claim.
See the :minio-git:`DirectPV Documentation <directpv/blob/master/README.md>` for installation and configuration instructions.
* - :guilabel:`Number of Servers` * - :guilabel:`Number of Servers`
- The total number of MinIO server pods to deploy in the Tenant. - The total number of MinIO server pods to deploy in the Tenant.