Cours - Type de volumes et mode d'accès
Types de volumes
Section titled “Types de volumes”-
Objets
-
Files
-
Block
-
https://www.redhat.com/en/topics/data-storage/file-block-object-storage
-
https://cloud.google.com/blog/topics/developers-practitioners/map-storage-options-google-cloud?hl=en
Modes d’accès
Section titled “Modes d’accès”-
Vous devez utiliser
ReadWriteXlorsque vous prévoyez que des pods devront écrire sur le volume, et pas seulement lire les données du volume. -
Vous devez utiliser
XManylorsque vous souhaitez que des pods puissent accéder au volume donné tout en étant exécutés sur différents nœuds dans le cluster Kubernetes.
Ces pods peuvent être plusieurs replicas appartenant à un déploiement, ou bien des pods complètement différents. Il y a de nombreuses situations où il est souhaitable que des pods s’exécutent sur différents nœud
Si vous n’utilisez pas XMany, mais que vous avez plusieurs pods qui doivent accéder au volume donné, cela obligera Kubernetes à planifier tous ces pods sur le nœud où le volume a été monté en premier. Cela pourrait surcharger ce nœud s’il y a trop de pods, et peut affecter la disponibilité des déploiements dont les pods ont besoin d’accéder à ce volume.
En résumé :
- Si vous avez besoin d’écrire sur le volume, et que vous pourriez avoir plusieurs pods qui doivent écrire sur le volume tout en préférant que ces pods soient répartis sur différents nœuds, et que
ReadWriteManyest une option disponible avec le plugin de volume pour votre cluster K8s, utilisezReadWriteMany. - Si vous avez besoin d’écrire sur le volume mais que vous n’avez pas l’exigence que plusieurs pods puissent y écrire, ou que
ReadWriteManyn’est tout simplement pas une option disponible pour vous, utilisezReadWriteOnce. - Si vous avez seulement besoin de lire depuis le volume, et que vous pourriez avoir plusieurs pods qui doivent lire depuis le volume tout en préférant que ces pods soient répartis sur différents nœuds, et que
ReadOnlyManyest une option disponible avec le plugin de volume pour votre cluster K8s, utilisezReadOnlyMany. - Si vous avez seulement besoin de lire depuis le volume mais que vous n’avez pas l’exigence que plusieurs pods puissent y accéder, ou que
ReadOnlyManyn’est tout simplement pas une option disponible pour vous, utilisezReadWriteOnce. Dans ce cas, vous voulez que le volume soit en lecture seule, mais les limitations de votre plugin de volume vous obligent à choisirReadWriteOnce(il n’y a pas d’optionReadOnlyOnce). En bonne pratique, pensez à configurer le paramètrevolumeMounts.readOnlysur true dans vos spécifications de pod pour les montages de volumes qui sont destinés à être en lecture seule.