私たちは 2017 年前の KubeCon 2018 で初めて Diamanti のことを知りました。そして、彼らのビジョンに感銘を受けました。それは、マイクロサービスとクラウドネイティブ環境専用に構築され、Kubernetes または基本的にハイパーコンバージド向けに最適化されたベアメタル コンテナ プラットフォームを提供するというものでした。 Kubernetes のインフラストラクチャ アプライアンス。私たちはこれを興味深い取り組みだと考え、昨年の KubeCon XNUMX で、Kubernetes 上のストレージと、Kubernetes ストレージをどのようにテストして系統的に定量化し、テストと文書化を開始できるかを理解するために私たちと協力することについて話し始めました。 Kubernetes ストレージのパフォーマンス。
私たちが初めて Diamanti のことを知ったのは 2017 年前の KubeCon 2018 で、そのビジョンに感銘を受けました。それは、マイクロサービスとクラウドネイティブ環境専用に構築され、Kubernetes または基本的にハイパーコンバージド向けに最適化されたベアメタル コンテナ プラットフォームを提供するというものでした。 Kubernetes のインフラストラクチャ アプライアンス。私たちはこれを興味深い取り組みだと考え、昨年の KubeCon XNUMX で、Kubernetes 上のストレージを理解するために私たちと協力することと、Kubernetes ストレージを系統的にテストして定量化し、テストと文書化を開始できる方法について話し始めました。 Kubernetes ストレージのパフォーマンス。
Diamanti は非常に協力的で、テスト方法を作成するために必要な Kubernetes と Kubernetes ストレージについての深い理解を提供してくれました。 Diamanti は元 VMware、VERITAS、Cisco のエンジニアによって設立され、Goldman Sachs やその他の有名な VC から資金提供を受けています。これは素晴らしいことですが、さらに印象的なのは、Diamanti がストレージとネットワーキングの標準 (つまり FlexVolume/CSI) に大きく貢献していることです。および CNI)、アップストリームの Kubernetes コードに受け入れられています。
エンタープライズ ビジネスは光の速さで進化しており、企業はアプリケーションの生産サイクル全体を高速化するための新しいテクノロジーを使用してこの進化に追いつこうとしています。コンテナーは、アプリケーションの開発とデプロイメントを加速するために設計されたテクノロジーですが、レガシー インフラストラクチャ上にコンテナーを構築することは複雑になる可能性があり、完全に機能するコンテナー スタックを構築するにはすぐに大きな障害になります。コンテナは従来のストレージやネットワーク インフラストラクチャと互換性がないため、コンテナ環境を構築するための日曜大工 (DIY) アプローチは IT にとって困難で、コストがかかり、ペースも遅いです。 Diamanti Enterprise Kubernetes プラットフォームは、インフラストラクチャ アーキテクト、IT 運用、アプリケーション所有者に、ステートフルなコンテナ化されたアプリケーションを大規模に実行するために必要な速度、シンプルさ、効率性、制御性を提供することを目的としています。
Diamanti Enterprise Kubernetes プラットフォームは、特に大企業向けに、迅速な立ち上げと実行のネットワーキングとストレージの側面に焦点を当てたベアメタル コンテナ プラットフォームです。 Diamanti Enterprise Kubernetes Platform は、オープンソースの Docker と Kubernetes が完全に統合され、専用のハードウェアとスタック全体の完全なサポートを備えており、数分でデプロイできる完全なコンテナ ソリューションです。 Diamanti は、Enterprise Kubernetes Platform で比類のないパフォーマンスと使用率を実現していると述べています。このパフォーマンスの秘訣は、Kubernetes コンテナーがネットワークとストレージ リソースを使用する方法に特化して設計された、独自のハイパーコンバージド アーキテクチャを使用していることです。
ディアマンティ D10の仕様
ネットワーク | 単一の QSFP+ 接続経由で 4×10 GbE (ノードごと) |
Storage | |
データストレージ | 4 TB 構成 (ノードあたり 4x 1000 GB NVMe SSD) 8 TB 構成 (ノードあたり 4x 2000 GB NVMe SSD) 32 TB 構成 (ノードあたり 4x 8000 GB NVMe SSD) |
ホスト OS と Docker イメージ ストレージ | 960 GB (ノードあたり 2x 480 GB SATA SSD) |
Rescale 計算する | |
CPU | 2 / 20 / 32 コアを備えた 44x Intel Xeon プロセッサ (ノードあたり) |
RAM | 192 GB / 384 GB / 768 GB (ノードあたり) |
物理的な | |
フォームファクター | 1U |
寸法と重量 (ノードあたり) | 幅17.25インチ x 奥行き28インチ x 高さ1.72インチ / 52ポンド。 43.8cm×71.1cm×4.4cm / 24kg |
出力 | デュアル冗長 110/220V 電源 |
環境 | 動作温度:50°Cから95°C(10°Fから35°F) |
ビルドとデザイン
Diamanti アプライアンスは、Diamanti のコンテナ スタック ソリューションの物理ハードウェアです。このアプライアンスは最小 1 ノードのクラスターで提供され、各ノードは 32U ラックで、最大 960 TB のデータ ストレージ容量と、ホスト OS および Docker イメージ ストレージ用に XNUMX GB を提供します。
ノードの前面には、効率的なエアフローを実現するように設計されたアルミニウム グリルがあり、中央には同社の丸太があり、左上にはロック機構が付いています。前面の右上には、電源スイッチとシステムの健全性を示すインジケータ LED を備えたコントロール パネルがあります。アルミニウム グリルを取り外すと、ドライブ スロットの位置と、1 つの VGA ポートと 2 つの USB ポートが表示されます。
アプライアンスの背面に移動すると、デバイスのポートが表示されます。ここでは、左側の 10 つの独立した電源と換気システムを強調表示します。中央/右には 4 つの管理ポート、高性能かつ低遅延でノードを接続するための 10GbE ポート、QSFP+ ポート (4xXNUMXG SFP+ 用)、およびキーボードやその他の周辺機器を接続するための XNUMX つの USB ポートがあります。
マネジメント
アプライアンスには、OS、Docker、Kubernetes、その他のコンテナ コンバージェンス サービスを含む、事前に統合された完全なソフトウェア スタックが同梱されています。ブラウザ、CLI または REST API、および Diamanti OS を介してダッシュボードとレポート機能を提供します。 Diamanti Enterprise Kubernetes プラットフォームは K8s 認定を受けています。 CNCF 組織によって設計された認定。
管理については、Diamanti コンソールに注目します。これを開くと、ダッシュボードに直接アクセスできます。ダッシュボードには、すぐに読みやすい基本情報が含まれています。ここでは、実行されているノードの数、コンテナーの数、ポッドの数を確認できます。 CPU、ストレージ、メモリ、ネットワークの使用状況も左側にパーセンテージで簡単に表示されます。右側は帯域幅 (Kbps) です。
次のメイン タブは [アプリケーションの作成] です。ユーザーが必要なアプリケーションを作成したら、サブタブに小さな Kubernetes アイコンが付いた [デプロイ] が表示されます。ここでユーザーは、名前、イメージ、環境、ポート、ボリューム マウント、CPU とメモリの量などの情報を入力する必要があります。
次のメインタブは「アプリケーション」です。メイン タブの下には、ポッド、レプリケーション コントローラー、レプリカ セット、ステートフル セット、デーモン セット、デプロイメント、およびジョブのサブタブがあります。ポッドは、選択したポッドの正常性と、それに関連付けられたコンピューティング、ネットワーク、およびストレージの簡単な概要をユーザーに提供します。
[ステートフル セット] サブタブを使用すると、ユーザーはセットをさらにドリルダウンし、必要に応じてエクスポートできます。ここには、名前、ネームスペース、希望する番号、現在の番号、準備可能な番号、年齢、および実行するアクションに関するオプションなどの基本情報が表示されます。
ユーザーは、Pod ログをドリルダウンして、アクティビティや潜在的な問題を確認することもできます。
次のメイン タブは [K8S 設定] です。ここでユーザーは、サービス アカウントなどの Kubernetes 関連のアプリケーション構成を管理し、シークレット、構成マップを参照し、名前空間を作成できます。
[ノード管理] タブから、ユーザーはノードを表示、追加、削除したり、ノード リソースの使用状況を監視したりできます。ここでもユーザーは、特定のノードとリソース(コンピューティング、ネットワーク、ストレージ)の全体的な健全性を監視できます。
タブの名前が示すように、ストレージ管理では、ユーザーはボリューム、スナップショット、ドライブ、永続ボリューム、永続ボリューム要求、ストレージ クラス、バックアップなどのストレージに関するすべての情報を確認できます。 [ボリューム] サブタブでは、新しいボリュームを作成したり、健全性、ストレージ スループット、使用状況などの既存のボリュームの概要を表示したりできます。
[ドライブ] サブタブでは、ユーザーは、ドライブがどのスロットにあるか、その S/N、未加工容量、使用可能な容量、割り当てられた容量、ファームウェア、状態などの情報とともに、物理ドライブが活用していることを確認できます。このサブタブからフォーマットできます。
[永続ボリューム] サブタブでは、ユーザーが永続ボリュームを作成またはエクスポートできるほか、その名前、タイプ容量、アクセス、再利用、ステータス、要求、ストレージの可用性、経過時間、および編集、エクスポート、保存などのアクションのリストなどの情報を提供できます。消去。
Persistent Volume Claims は、PVC に対して上記と同じことを行います。
次のメイン タブは、[ネットワーク管理] タブです。ここでユーザーはネットワークを作成、削除、編集、エクスポートできます。ここには、名前、グループ、デフォルト ネットワークかどうか、ホスト ネットワーク、そのサブネット、ゲートウェイ、開始アドレス、終了アドレス、IP アドレスなどの情報が与えられます。
ユーザー管理は非常に簡単です。ここで管理者はユーザーとグループを作成し、アクセス制御のためのさまざまなポリシーを設定できます。
詳細設定を使用すると、管理者はクラスター層とパフォーマンス層を作成および調整できます。
通常、私たちはさまざまな管理機能を段階的に実行して、読者が何かを段階的に実行するときに何が予想されるのかについての一般的なアイデアを提供しますが、今回は少し異なることを行っています。また、ベンチマークを実行して、より重いワークロードを実行したときに GUI がどのような動作をするかを確認しました。これらの各ベンチマークでは、[ノード管理] タブが表示されます。
基本的な (ランダムおよび順次) テストを使用すると、コンピューティングの消費と右側のパフォーマンス メトリクスを簡単に確認できます。
SQL テストでは、コンピューティングとネットワークにかなり軽い負荷がかかりましたが、ストレージは 1 万 IOPS 近くに達しました。
最後に、Oracle テストの実行中に期待されることの例を示します。
性能
VDBench ワークロード分析
ストレージ アレイのベンチマークに関しては、アプリケーション テストが最適であり、合成テストは 2 番目になります。実際のワークロードを完全に表現しているわけではありませんが、合成テストは、競合ソリューション間での完全な比較を容易にする再現性係数を備えたストレージ デバイスのベースラインを確立するのに役立ちます。これらのワークロードは、「4 コーナー」テストや一般的なデータベース転送サイズのテストに至るまで、さまざまなテスト プロファイルに加えて、さまざまな VDI 環境からのトレース キャプチャを提供します。これらのテストはすべて、スクリプト エンジンを備えた共通の Vdbench ワークロード ジェネレーターを利用して、大規模なコンピューティング テスト クラスター全体で結果を自動化および取得します。これにより、フラッシュ アレイや個々のストレージ デバイスを含む幅広いストレージ デバイスにわたって同じワークロードを繰り返すことができます。
プロフィール:
- 4K ランダム読み取り: 100% 読み取り、128 スレッド、0 ~ 120% iorate
- 4K ランダム書き込み: 100% 書き込み、64 スレッド、0 ~ 120% iorate
- 64K シーケンシャル読み取り: 100% 読み取り、16 スレッド、0 ~ 120% の iorate
- 64K シーケンシャル書き込み: 100% 書き込み、8 スレッド、0 ~ 120% iorate
- 合成データベース: SQL および Oracle
すべての VDBench テストでは、アプライアンスの制限を押し上げるために、一度に 3、6、9、または 12 個の Vdbench ポッドを実行するさまざまなデプロイメントに基づいて Diamanti アプライアンスをテストしました。ランダム 4K 読み取りパフォーマンスから始めて、すべての Vdbench ポッドは 120 μs のレイテンシで開始されました。 IO パフォーマンスは、3 ポッドの 95,863 IOPS から 12 ポッドの 269,208 IOPS までの範囲になります。ピークパフォーマンスを見ると、すべての構成で遅延が 600μs 未満にとどまりました。 3 つの Vdbench ポッドでは、レイテンシ 947,619 μs で 370 IOPS のピークが見られました。 6 ポッドの場合、ピーク 1,745,344 IOPS、レイテンシー 436μs。 9 ポッドの場合、レイテンシ 2,492019 μs でピーク 447 IOPS。最後のデプロイメントである 12 ポッドでは、レイテンシー 2,753,170 μs で 554 IOPS に達しました。
4K 書き込みパフォーマンスを見ると、すべてのテスト導入は 300 μs のレイテンシで開始されましたが、最大パフォーマンスに達すると 26 ミリ秒から 28 ミリ秒の間で急速に増加しました。パフォーマンスは 3 ポッドで 13,719 IOPS でピークに達しました。 6 IOPS の 27,747 ポッド。 9 IOPS で 42,805 ポッド。 12 ポッドで 58,559 IOPS です。ポッドを追加すると、安定したパフォーマンスの向上が見られます。
順次ワークロードに切り替えて、アプライアンスの 64K 読み取りパフォーマンスを確認します。ここでは、3 つのポッドのデプロイメントが 14,560 IOPS または 910MB/s で開始され、レイテンシは 297μs でした。他のすべての展開は 18,000 IOPS または 1.1GB/s 付近で開始され、遅延は 227μs でした。デプロイメントのピーク パフォーマンスに関しては、3 ポッド デプロイメントでは、レイテンシ 143,431μs で 9 IOPS、つまり 327GB/s に達しました。他のすべてのデプロイメントは、ほぼ同じ 179,000 IOPS または 11.1GB/秒のパフォーマンスでピークに達し、12 ポッドのデプロイメントだけが 1 ミリ秒のレイテンシーを超えました。
64K シーケンシャル書き込みでは、Vdbench のすべてのデプロイメントは 350μs に近いレイテンシーで開始されました。デプロイメントのピークは次のようになりました。ポッド 3 個、9,693 IOPS または 606MB/秒、遅延 4.9 ミリ秒。 6 つのポッド、22,202 IOPS または 1.39GB/秒、遅延 4.3 ミリ秒。 9 個のポッド、30,475 IOPS または 1.9GB/秒、遅延 4.7 ミリ秒。そして最終的に、12 個のポッドは 32,052 IOPS、つまり 2.4GB/秒、レイテンシ 4.9 ミリ秒でピークに達しました。
次のテスト セットは、SQL ワークロード、SQL、SQL 90-10、および SQL 80-20 です。 SQL の場合、すべてのデプロイメントは 180 μs のレイテンシ以内に開始されました。 3 つのポッドは 26,291 IOPS で開始し、レイテンシ 261,573 μs で 366 IOPS のピークに達しました。 6 つのポッドは 57,061 IOPS を開始し、レイテンシ 570,642 μs で 336 IOPS に達しました。 9 つのポッドは 86,197 IOPS で開始され、レイテンシ 885,269 μs で 332 IOPS に達しました。また、12 個のポッドのデプロイメントは 101,753 IOPS で開始され、1,106,860 μs のレイテンシーで 346 IOPS のピークに達しました。
SQL 90-10 の場合、すべてのデプロイメントは 200 μs 近くのレイテンシーで開始されました。 3 つのポッドのデプロイメントは 10,753 IOPS で開始され、105,877 μs のレイテンシーで 904 IOPS のピークに達しました。 6 つのポッドは 49,361 IOPS を開始し、レイテンシ 245,158 μs で 782 IOPS に達しました。 9 つのポッドは 80,157 IOPS で開始し、レイテンシ 401,444 μs で 716 IOPS に達しました。また、12 個のポッドのデプロイメントは 55,748 IOPS で開始され、554,685 μs のレイテンシで 690 IOPS のピークに達しました。
最後の SQL テストである 80-20 では、Vdbench のデプロイメントも 200 μs のレイテンシに非常に近いところで開始されました。デプロイメントは次のようにピークに達しました。3 つのポッドのデプロイメントは 57,944 IOPS、レイテンシー 1.6 ミリ秒でした。 6 つのポッドは、レイテンシ 132,384 ミリ秒で 1.4 IOPS に達しました。 9 つのポッドは 217,273 IOPS、レイテンシは 1.3 ミリ秒です。 12 個のポッドのデプロイでは、レイテンシー 305,426 ミリ秒で 1.2 IOPS のピークに達しました。
次に、Oracle ワークロード、Oracle、Oracle 90-10、Oracle 80-20 です。 Oracle では、すべてのデプロイメントが 210 μs 以内に開始されました。ここでは、デプロイメントのピークパフォーマンスがわかります。 3 つのポッドは、レイテンシ 54,844 ミリ秒で 2.2 IOPS のピークに達しました。 6 つのポッドのピーク値は 125,633 IOPS、遅延は 1.9 ミリ秒でした。 9 つのポッドのピーク値は 206,024 IOPS、遅延は 1.7 ミリ秒でした。また、12 個のポッドのデプロイでは、レイテンシー 290,313 ミリ秒で 1.6 IOPS のピークに達しました。
Oracle 90-10 では、デプロイメントは 200μs 未満で開始されました。 3 つのポッドのデプロイメントは、106,182 μs のレイテンシーで 620 IOPS のピークに達しました。 6 つのポッドは、レイテンシ 243,383 μs で 541 IOPS に達しました。 9 つのポッドは、レイテンシ 393,727 μs で 502 IOPS に達しました。そして最後に、12 個のポッドのデプロイメントでは、レイテンシー 544,584 μs で 483 IOPS のピークに達しました。
Oracle 80-20 では、すべてのデプロイメントが 210μs のレイテンシで開始されることがもう一度確認されました。デプロイメントのピーク パフォーマンスを見ると、3 つのポッドが 58,037 ミリ秒のレイテンシーで 1.1 IOPS に達していることがわかります。 6 つのポッドは、レイテンシ 132,911 μs で 991 IOPS に達しました。 9 つのポッドは 215,817 IOPS に達し、レイテンシは 915 μs でした。そして最終的に、12 個のポッドのデプロイメントは、レイテンシー 304,391 μs で 865 IOPS のピークに達しました。
まとめ
Kubernetes は中小企業にも受け入れられており、現在ではフォーチュン 500 企業のすべてではないにしても、ほとんどの企業が注目しており、より先進的な企業の一部が導入を始めているテクノロジーに成熟しつつあります。 Kubernetes は登場してまだ 5 年しか経っていませんが、テクノロジー導入曲線におけるイノベーター層を通過し、早期採用者の陣営にしっかりと属しています。 Kubernetes コミュニティは Kubernetes を実行する方法を見つけ出し、現在は Kubernetes を適切に実行することに重点を置いているため、テクノロジー導入曲線におけるこの位置付けは重要です。このようなテストが、Kubernetes の利用者がどのベンダーを使用するかを決定する際に役立つことを願っています。また、ベンダーに自社を比較するための基準を提供することでベンダーを支援します。
Diamanti は、D10 コンテナ アプライアンスを使用して魅力的な Kubernetes ソリューションを構築し、有益で使いやすい管理インターフェイスと、コンテナをホストするための非常に高速なバックエンド ストレージ プラットフォームを提供します。これはまだ新興分野であるため、市場には完全に具体化されたソリューションはあまりありませんが、これまで見てきた限りでは、D10 は従来のソリューションのすべての基準を満たしています。ストレージまたは HCI ソリューション。パフォーマンスは全体的に素晴らしく、2.7 ~ 4 個のポッドをテストしたクラスターからの 3K ランダム読み取りで 12 万 IOPs をはるかに超えています。レイテンシーの観点から見ると、最初は 100 マイクロ秒強で始まり、最高は 600 マイクロ秒でした。ストレージの観点から見ると、これは信じられないほどのパフォーマンスであり、新興テクノロジー プラットフォームによるものは非常に驚異的です。書き込みの観点から見ると、このアプライアンスは 50 IOPS 4K ランダムを提供しており、これが唯一の弱点のようですが、同社はソフトウェアやおそらくストレージ メディアを通じて対処できるはずです。シーケンシャル帯域幅は 11GB/秒を超える読み取り速度を実現し、これも非常に強力で使いやすいパフォーマンスを実現し、書き込み速度はピーク時に 2.4GB/秒になります。
全体として、環境内に Kubernetes を導入している顧客にとって、Diamanti D10 コンテナ アプライアンスは、高速でルーズなコンテナ市場に真剣に取り組みたい顧客にとって、ホスティングとストレージの観点から優れたターンキー アプローチを提供します。公平を期すために言うと、これは誰にでも当てはまるわけではなく、クラスターのターゲットはかなり具体的です。ただし、そのターゲットに適合する場合、Diamanti はまさに顧客が望むものを提供し、この種の新しいコンテナ ワークロード専用に構築されています。もちろん、VMware 向けの PKS や、よりエンタープライズに特化した代替ソリューションを活用することは完全に可能ですが、Diamanti は複雑さが少なく、従来のエンタープライズ スタックよりもコスト面で有利なシステムを提供します。ソリューションの完全性 (変更に適した GUI を備えている) と非常に優れたパフォーマンス プロファイルにより、D10 が StorageReview Editor's Choice Award の受賞者にふさわしいと判断しました。
StorageReview ニュースレターにサインアップする