ステートフルな Kubernetes ワークロード向けの新しいストレージ オプション、Hyperdisk Balanced のご紹介
Google Cloud Japan Team
※この投稿は米国時間 2024 年 4 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。
Google Kubernetes Engine(GKE)は、コンテナ化されたアプリケーションをデプロイして管理するための最先端のコンテナ オーケストレーション ソリューション プラットフォームとして登場しました。しかし、GKE の能力はステートレス マイクロサービスの実行に限定されているわけではありません。柔軟な設計により、永続ディスクや blob ストレージ プロダクト(Persistent Disk、Cloud Storage、Filestore など)と緊密に連携して、データを存続させる必要のあるワークロードもサポートします。
また、さらに強力なスループットと高いパフォーマンスを必要とする組織は、Google Cloud の次世代ブロック ストレージ サービスである Hyperdisk を利用できます。Hyperdisk は、スタック全体を再デプロイすることなく、ワークロードに合わせて容量、スループット、IOPS 関連のパフォーマンスを調整できます。
本日は、GKE の Hyperdisk Balanced ストレージ ボリュームのサポートについてご紹介いたします。Hyperdisk Extreme オプションと Hyperdisk Throughput オプションを結合し、基幹業務アプリケーションやウェブ アプリケーション、データベースなどの永続 SSD を利用することの多いワークロードに最適です。Hyperdisk Balanced は第 3 世代以降のインスタンス タイプでサポートされます。インスタンス タイプの互換性については、こちらのページをご覧ください。
Hyperdisk とは
最初に、Hyperdisk でスループットを微調整することの意味を確認しましょう。IOPS や容量の調整についても解説します。
-
IOPS の調整は、ストレージ デバイスの 1 秒あたりの入出力オペレーション(IOPS)のパフォーマンスを調整することを意味します。Hyperdisk を使用すると、必要な IOPS のみをプロビジョニングでき、同じノード上の他のボリュームと共有されることがありません。
-
スループットの調整は、指定された時間内に転送または処理できるデータまたは情報の量を増やすことを意味します。Hyperdisk を使用すると、同じノード上の他のボリュームによる制限を受けることなく、特定のストレージ ボリュームに持たせるスループットを正確に指定できます。
-
容量の拡張は、ストレージ ボリュームのサイズを増やせることを意味します。Hyperdisk は、必要な容量を過不足なくプロビジョニングでき、ストレージに対するニーズの拡大に応じて拡張できます。
Hyperdisk のこれらの機能には、次のような利点があります。
-
まず、柔軟性、使いやすさ、拡張性、管理によってステートフル環境を変革でき、費用削減につながります。管理上のオーバーヘッドのないストレージ エリア ネットワーク環境がいかに便利かを想像してみてください。
-
次に、GKE ノードを支えるマシンタイプのサイズを適正化し、CI / CD、セキュリティ、ネットワーキングの機能と連携しながら GKE スタックを最適化することで、低コストのインフラストラクチャを構築できます。
-
最後に、個々のノードとそれに必要な IOPS をきめ細く調整することで一貫性が確保され、予測可能性を得られます。また、Hyperdisk は、同じノードの帯域幅を共有するすべての PD からスループットと IOPS の要素を取り除き、その下にプロビジョニングされた Hyperdisk に配置するため、ML モデルの構築 / トレーニング / デプロイのファイン チューニングに使用することもできます。
従来の永続ディスクと比較すると、Hyperdisk のストレージ パフォーマンスは、アプリケーションが実行されているノードから分離されています。これにより、IOP とスループットの柔軟性が向上すると同時に、ストレージ全体のパフォーマンスがノイジー ネイバーによって影響を受ける可能性が低くなります。
GKE では、次のタイプの Hyperdisk ボリュームを使用できます。
-
Hyperdisk Balanced - ほとんどのワークロードに最適な汎用ボリューム タイプ。最大 2.4 GBps のスループットと 16 万 IOPS をサポートします。基幹業務アプリケーション、ウェブ アプリケーション、データベース、またはブート ディスクに最適です。
-
Hyperdisk Throughput - 費用効率に優れた、高スループット ワークロード向けに最適化されており、最大 3 GBps のスループット(128 KB IO サイズ以上)をサポートします。Hyperdisk Throughput は、スケールアウト分析(例: Kafka、Hadoop、Redpanda)などのスループット指向のコスト重視のワークロードを対象とし、GKE Autopilot クラスタと GKE Standard クラスタでサポートされます。
-
Hyperdisk Extreme - 高い IOPS パフォーマンスを必要とする大規模データベースなど、IOPS パフォーマンスに特化して最適化されています。Standard クラスタでのみサポートされます。
GKE で Hyperdisk を使ってみる
Hyperdisk をプロビジョニングするには、まず、ディスクを参照するのに必要な StorageClass がクラスタに読み込まれていることを確認する必要があります。必要な IOPS / スループットをストレージ クラスに追加することも、デフォルト値の 3,600 IOP と 140 MBps を使用することもできます(ドキュメント)。
GKE クラスタに適用する YAML
StorageClass を構成した後は、それを参照する永続ボリューム要求を作成できます。
Hyperdisk で GKE ストレージを管理する
まとめると、Hyperdisk を使用すると、ワークロードが実行されているノードからディスクを分離することで、既存の PD SSD ボリュームの速度は保ったまま、特定のニーズに合わせて柔軟に調整できる状態で、クラウド インフラストラクチャのストレージ、スループット、IOPS、容量を制御できます。
詳細については、Next '24 の次のセッションをご覧ください。
以下のリソースもご確認ください。
-
GKE の Hyperdisk を作成する方法
- Google Cloud の担当者に問い合わせる
-GKE、プロダクト マネージャー Spencer Bischof
-GKE、シニア プロダクト マネージャー Brian Kaufman