web-dev-qa-db-fra.com

Comment monter le bucket S3 sur des conteneurs / pods Kubernetes?

J'essaie d'exécuter mon travail spark sur le cluster Amazon EKS. Mon travail spark nécessite des données statiques (données de référence) à chaque nœud de données/travailleur/exécuteur) et ces données de référence sont disponibles sur S3.

Quelqu'un peut-il m'aider à trouver une solution propre et performante pour monter le godet S3 sur des pods?

L'API S3 est une option et je l'utilise pour mes enregistrements d'entrée et les résultats de sortie. Mais les "données de référence" sont des données statiques, donc je ne veux pas les télécharger à chaque exécution/exécution de mon travail spark. Lors du premier travail, les données seront téléchargées et les travaux à venir vérifieront si les données sont déjà disponible localement et il n'est pas nécessaire de le télécharger à nouveau.

7
Ajeet

en général, vous ne faites pas ça. Vous devriez plutôt interagir directement avec l'API S3 pour récupérer/stocker ce dont vous avez besoin (probablement via certains outils comme aws cli).

Lorsque vous exécutez dans AWS, vous pouvez configurer IAM de manière à ce que vos nœuds puissent accéder à des données particulières autorisées au niveau de "l'infrastructure", ou vous pouvez fournir des jetons d'accès S3 via secrets/confogmaps/env etc.

S3 n'est pas un système de fichiers, alors ne vous attendez pas à ce qu'il se comporte comme tel (même s'il existe des clients Fuse qui émulent FS pour vos besoins, c'est rarement la bonne solution)