web-dev-qa-db-ja.com

Kubernetesコンテナ/ポッドにS3バケットをマウントする方法は?

Amazon EKSクラスターでsparkジョブを実行しようとしています。Mysparkジョブは各データノード/ワーカー/エグゼキューターで静的データ(参照データ)を必要としましたこの参照データはS3で入手できます。

誰かがポッドにS3バケットをマウントするためのクリーンでパフォーマンスの高いソリューションを見つけるのを親切に助けてくれますか?

S3 APIはオプションであり、入力レコードと出力結果に使用しています。しかし、「参照データ」は静的データであるため、sparkジョブの各実行/実行でダウンロードしたくありません。最初の実行ジョブではデータがダウンロードされ、今後のジョブではデータがすでにローカルで利用可能であり、再度ダウンロードする必要はありません。

7
Ajeet

一般に、あなたはそれをしません。代わりに、S3 APIと直接対話して、必要なものを取得または保存する必要があります(おそらくaws cliなどのツールを使用して)。

AWSで実行するときに、ノードが「インフラストラクチャ」レベルで承認された特定のデータにアクセスできるようにIAMを構成するか、secrets/confogmaps/envなどを介してS3アクセストークンを提供できます。

S3はファイルシステムではないため、1つのように動作することを期待しないでください(FS必要に応じてエミュレートするFuseクライアントがある場合でも、これは適切なソリューションとなることはめったにありません)