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:
committed by
Ravind Kumar
parent
af0fc05bc6
commit
4385d06941
@ -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. MinIO’s 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.
|
||||||
|
Reference in New Issue
Block a user