Nous expérimentons des Kubettes et envisagez de migrer notre WebApp, actuellement hébergée dans un cloud public classique avec VPS et équilibrage de chargement. P>
J'aimerais savoir comment gérer un dossier de téléchargement (avec Write / Lire privilégié) dans notre application dockerisé dans laquelle les fichiers téléchargés par nos utilisateurs sont stockés. P>
Lorsque nous utilisons beaucoup de téléchargement de fichier dans nos applications, il serait-il possible d'avoir un stockage de données persistant dans lequel le WebApp peut télécharger des fichiers et les gérer via WebApp? Dois-je modifier le code de mon application et enregistrer des fichiers sur des stockages d'objets externes ou un moyen plus rapide de le faire via le système de fichiers local? P>
Merci! P>
3 Réponses :
Comme le commentaire mentionne, Cependant, vous risquez de faire face. Que vous ne pouvez pas accumuler le nombre d'instances. Je pense que Kubetestes ne permet pas à un seul Elbe d'être partagé entre les réplicas. Ce problème est mis en surbrillance ici . Comme mentionné là-bas, il est préférable de passer au stockage d'objet comme S3. Bien que cela puisse nécessiter des changements de code, ce serait la solution optimale. P> persistant voulmes code> est une option. Vous pouvez créer un volume AWS et l'attacher à la gousse. Ce post explique comment faire cela. P>
Le volume persistant est la bonne façon d'aller. Vous pouvez en savoir plus dans le lien fourni par Veerendra. Pour faciliter, vous pouvez utiliser un moteur KubeNettes géré comme GKE / EKS / Aks car la partie PV est simplifiée là-bas. Vous pouvez trouver un bon guide de gcp ici . p>
À propos de la réécriture de la demande - il y aura probablement de petits changements à faire car vous aurez besoin d'utiliser une base de données de niveau de pod. Il s'agira également d'une solution plus appropriée car vous obtiendrez un moyen facile d'accabler de haut en bas avec votre application en fonction de la charge et du couple d'autres caractéristiques de Kubettes. p>
Je ne m'inquiéterais pas de labalancer ici. Vous allez d'abord dockeriser votre application puis la mettre à l'intérieur d'une pod qui fera ensuite une partie d'un déploiement, puis résumez le stockage en tant que PV. Pour obtenir une compréhension de la façon dont tout fonctionnement que vous pouvez commencer par ce laboratoire simple Déploiement de PHP Livre d'or Application avec Redis . Vous pouvez trouver une autre ressource utile sur l'utilisation de PV avec des déploiements et des statistiques ici < / a>. p>
Je suppose que si vous exécutez plus d'une pod, vous voudrez une sorte de système de fichiers partagé? Donc, tous les documents téléchargés sont disponibles à un endroit plutôt que dispersé autour de plusieurs volumes persistants? Si tel est le cas, vous voulez une sorte de stockage de fichiers distingué comme Amazon S3. Encore mieux, vous pouvez utiliser un KubeNettes NFS afin que votre code pense qu'il utilise un système de fichiers local, mais elle est soutenue par un magasin de fichiers distribués. P>
Jetez un coup d'œil à cet exemple: https: // github. com / kubernettes / exemples / arbre / maître / mise en scène / volumes / nfs . Le NFS peut utiliser un volume persistant de GKE, Azure ou AWS. P>
Avez-vous envisagé
Volumes persistants Code> - KubeNettes.io/docs/ Concepts / Stockage / Volumes persistants