コンテンツにスキップ

image streaming について調べてみた

GKE でコンテナイメージ全体の取得を待たずにワークロードを起動する、イメージストリーミングの仕組みと利点を整理する。

image streamingとは

イメージ ストリーミングはコンテナ イメージを取得する方法で、GKE はアプリケーションからのリクエストに応じて対象イメージからデータをストリーミングします。イメージ ストリーミングを使用すると、イメージ全体がダウンロードされるのを待たずにワークロードを初期化できます。これにより、初期化時間を大幅に短縮できます。pull 時間の短縮には、次のような利点があります。

  • 自動スケーリングの高速化
  • 大きなイメージを pull する際のレイテンシの短縮
  • Pod の起動の高速化

— イメージ ストリーミングの使用

つまり、イメージ全体の取得を待たずに必要な部分からストリーミングしてワークロードを起動できるため、自動スケーリングや Pod 起動の高速化につながる仕組みだ。

パフォーマンス比較

Cloud Run

すでに Cloud Run でも使われているようだ。

GKE keeps getting better. Introducing image streaming, same magic under Cloud Run, which allows your workloads to initialize without waiting for the entire container image to download. 🤯

Think faster autoscaling and Pod startup time.

post

追記

Container pull やオブジェクトの読み込み速度を改善するために、セカンダリディスクを使ったり、GCS などをマウントしたりする方法が紹介されている。