Infinidat CSIドライバー

Infinidat CSIドライバー

Infinidat社本国のサイトで有用なブログ記事を日本語に翻訳してお届けします

2年前私は、コンテナと、Kubernetesとの最初の統合について、ブログに投稿しました。当時、私たちはInfiniBox用の、dynamic persistent volume provisioner(永続ボリュームの動的プロビジョニング機能)をリリースしました。このソリューションは、一部の先進的なお客様にすぐに採用され、そのおかげで私たちは、ステートフルなKubernetesのワークロードにおいて、より多くの経験を積むことができました。

コンテナ化された環境では、物事が驚くべき速度で変化します。現在では、規模、柔軟性、標準化に対する需要が高まっています。私たちは、Kubernetesエコシステムにおいてお客様に新しい機能を提供できる最善の方法は、CSI(コンテナストレージインターフェイス)のサポート であると考えました。

CSI(コンテナストレージインターフェイス) とは

CSIとは、ファイルおよびブロックストレージでのコントロールプレーン操作をオーケストレーションするための仕様です。CSIの標準仕様は常に変化しております。

CSIは進化し続ける標準仕様であり、Kubernetesの新しいリリースごとに新しい機能が追加されるという点を理解することが重要です。各機能の成熟度を測定するために、Kubernetesは本番環境に向けたAPI readinessを3段階に分けて定義しています。このインターフェースは、Kubernetesだけでなく、Cloud FoundryやMesosなどの他のコンテナ化されたエコシステムにおいても、サポートされています。

●    Alpha :バグのリスクが高く、長期的なサポートが存在しないため、短期間のテストクラスターでのみ使用することを推奨
●    Beta   :後続のリリースで互換性のない変更が行われる可能性があるため、業務上不可欠ではない用途にのみ推奨
●    GA
    
以下の表は、本番環境で使用する特定のCSI機能のreadinessを、Kubernetesのリリースバージョンごとに示しています。
キャプチャ_(1).jpg 

たとえば、Kubernetes1.17リリースは、GAレベルのCSIプロビジョニング機能を有しています。クローン、スナップショット、ボリューム拡張などのいくつかの追加機能はまだBetaの段階で、まもなくGAとして提供される予定です。

CSIサポートについて

CSIサポートについてたくさんのお問い合わせを頂いていますが、InfiniBox CSI Driverの最初のGAバージョンを発表できることを嬉しく思います。このリリースでは、次のことができるようになります。

●    iSCSI、NFS、またはファイバーチャネル接続を使用してKubernetes永続ボリュームを管理する
●    単一のKubernetesクラスター内で複数のInfiniBoxアレイを制御する
●    InfiniBoxスナップショットを管理し、スナップショットから復元する
●    永続ボリュームを複製する
●    永続ボリュームを拡張する(増加させる)
●    永続ボリュームのRAWブロックを管理する
●    CSIドライバーの外部で作成された永続ボリュームをインポートする

Infinidat のCSIドライバーは、Kubernetesの永続ボリュームで利用可能なすべてのアクセスモードをサポートしています。
●    ReadWriteOnce - 単一ノードで読み取り/書き込みとしてボリュームをマウントできます
●    ReadOnlyMany - 複数ノードで読み取り専用としてボリュームをマウントできます
●    ReadWriteMany - ボリュームは複数ノードで読み取り/書き込みとしてマウントできます

Infinidatは、規模の大きいお客様と一緒に仕事をすることも可能です。単一のInfiniBoxで数百、数千の永続ボリュームを作成することができ、非常に大規模なKubernetesデプロイメントのための要件を満たすことができます。

  $ kubectl get pvc -n ibox | wc -l
  100124
  $ kubectl get pv | wc -l
  100124

1つのInfiniBox10万超えの永続ボリュームを備えた、Kubernetesクラスターのサンプル

重要な機能

重要な機能の1つに、既存の永続ボリュームを引き継ぎ、後でこれを他の「ネイティブに」作成されたボリュームと同じように制御する機能があります。この機能は、Infinidat の古いDynamic Volumesプロビジョナーで作成された永続ボリュームをマイグレーションするお客様や、レガシーストレージシステムから新しいInfiniBoxアレイに永続ボリュームをマイグレーションするお客様が使用できます。また、InfiniBoxレプリケーションを活用することで、DRサイトの環境を回復するためにも使用できます。さらに、私たちのNeutrix Cloudと組み合わせて使用することで、AWS Elastic Kubernetes Service(EKS) のようなマネージド・オファリングを含め、オンプレミス上およびパブリッククラウド内のKubernetesクラスター間で、コンテナ化されたワークロードを移行することが可能です。

メリット

お客様は、すべての標準InfiniBox機能を活用することで、Kubernetesエクスペリエンスを充実させることができます。たとえば、QoSポリシーをKubernetes StorageClassに関連付けられたすべての永続ボリュームに適用することで、ステートフルアプリケーションの適切なパフォーマンスを確保することが可能です。InfiniMetricsおよびInfiniVerseツールを使用すると、InfiniBoxのリアルタイムパフォーマンスメトリック、および履歴パフォーマンス情報を追跡できます。

お客様は、Kubernetesのさまざまなディストリビューションを使用しています。オープンソースで実行しているお客様もいれば、Red Hat OpenShift、VMware Tanzu Kubernetes Grid Integrated Edition(旧称Pivotal ContainerServiceおよびVMware Enterprise PKS)、Docker Kubernetes Service、Google Anthosなどの、商用サポートされているディストリビューションを使用しているお客様も存在します。ユーザーは、InfiniBox CSIドライバーを展開および管理する方法として、HelmチャートとOperatorのどちらかを選択することができます。

InfiniBox CSIドライバーは、最初の実装を発表したばかりですが、このベータ版をすでに使用されているお客様もいます。米国の大手多国籍ソフトウェア開発会社のシニアシステムエンジニアは、「テストはうまく行っています。すべての機能が完全に動いています。共に開発していただき、ありがとうございます。 完成形の製品をオペレーター形式で動かすのを楽しみにしています。」と述べました。日本に拠点を置く多国籍ITおよびエレクトロニクス企業のアプリケーションエンジニアは、「(競合他社のCSIドライバーよりも)優れていてシンプルです」と述べています。 3つの異なる場所に18.5PBのInfiniBox容量を持つグローバルコンサルティング組織の、Unix・ストレージおよびデータセンターを担当するテクノロジーアーキテクトは、「Infinidat CSIドライバーは、Infinidatが提供する優れた機能とドライバーの使いやすさが統合されており、インフラストラクチャチームと開発チームを緊密にする上で非常に役立っています」と話してくれました。

Infinidat CSIドライバーはアナリストからも高い評価を得ています。たとえば、最近リリースされたKubernetesのデータストレージ用のGigaOmレーダーという記事を参照してください。

私は、急成長するエコシステムの新しいサービスを提供できることに非常にワクワクしています。KubeConやその他の場所、またはTwitter(@gregnsk )を介して、私たちの新機能について皆さんとお話ししたいと考えています。良いコンテナライフを!

Gregory Touretskyについて

Gregory Touretsky(@gregnsk)は、Infinidatの製品管理担当シニアディレクターとして、NAS、クラウド、コンテナのトピックに関する同社のロードマップを推進しています。Infinidat入社前は、Intelのソリューションアーキテクトとして、分散コンピューティングとストレージソリューション、データ共有、クラウドに従事してきました。Gregoryは、分散コンピューティングとストレージに関して20年以上の実務経験があります。Gregoryは、ノボシビルスク国立工科大学でコンピューターサイエンスの修士号を取得し、テルアビブ大学でMBAを取得しています。

当BLOGは一部意訳を含めた翻訳であり、万一原文と異なる部分のある場合は原文を正としてご参照頂けるようお願い致します。

原文: https://www.infinidat.com/en/blog/infinidat-csi-driver