0

L'application en question est Wordpress, j'ai besoin de créer des réplicas pour le déploiement déploiement/mise à l'échelle.Quel serait le moyen idéal de partager le volume inscriptible entre les conteneurs pour un serveur Web?

Il semble ne peut pas créer plus de 1 instance du même conteneur, si elle utilise un volume persistant (terme GCP):

The Deployment "wordpress" is invalid: spec.template.spec.volumes[0].gcePersistentDisk.readOnly: Invalid value: false: must be true for replicated pods > 1; GCE PD can only be mounted on multiple machines if it is read-only 

Quelles sont mes options? Il y aura des écritures occasionnelles et beaucoup de lectures. Idéalement inscriptible par tous les conteneurs. J'hésite à utiliser les systèmes de fichiers réseau car je ne suis pas sûr qu'ils fourniront des performances suffisantes pour une application Web (où le chargement de la page est plutôt critique). Une idée que j'ai est, créer un conteneur maître (autorisation d'écriture et de lecture) et des esclaves (autorisation en lecture seule), cela pourrait fonctionner - Je vais juste besoin de comprendre la configuration Kubernetes requise.

Répondre

1

Dans https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistent-volumes, vous pouvez voir une table avec les classes de stockage possibles qui autorisent ReadWriteMany (l'option que vous recherchez).

  • AzureFile (ne convient pas si vous utilisez GCP)
  • CephFS
  • glusterfs
  • Quobyte
  • NFS
  • PortworxVolume

Celui que je l'ai essayé est celui de NFS. Je n'ai eu aucun problème avec cela, mais je suppose que vous devriez également considérer les problèmes de performance potentiels. Cependant, si les écritures doivent être occasionnelles, cela ne devrait pas être un problème.

+0

J'imagine que l'utilisation de NFS ou d'un autre 'système de fichiers réseau' ajouterait un retard significatif à des choses comme le chargement de la page. Je suppose qu'il n'y a qu'une seule façon de savoir si ... –

+0

Peut-être que la mise en cache peut aider: https://www.avidandrew.com/understanding-nfs-caching.html –

+0

Considérez-vous la réponse à la question? –

0

Je pense que ce que vous essayez de résoudre est d'avoir un emplacement central pour les fichiers multimédias wordperss, dans ce cas, ce serait une meilleure solution: https://wordpress.org/plugins/gcs/

Faire votre charge de travail de Kubernetes vraiment sans état et vous pouvez l'échelle horizontalement.