〜Hitachi Storage Plug-in for Containers〜
Hitachi Storage Plug-in for Containersは、コンテナ環境に日立ストレージをプロビジョニングするためのプラグインです。Kubernetes®*1 やOpenShift®*2 などのコンテナオーケストレーションソフトウェアで管理されるコンテナに対してプロビジョニングされた日立ストレージのボリュームを提供及び管理を可能とします。また、日立ストレージの高性能・高信頼な機能との組合せにより、I/O高速化や可用性の向上を実現します。
アプリケーションとそのアプリケーションが必要とするライブラリーやフレームワークなどの動作環境をまとめて管理することができる仮想化技術の1つです。
ハイパーバイザ型の仮想化技術では、物理サーバのOS上に仮想サーバ環境を構築し、その仮想サーバ上に独立した仮想マシンを構築します。対してコンテナは、物理サーバのOS上にアプリケーションの動作環境を分離することで実現します。この仕組みにより、従来型の仮想化技術と比べて、軽量で俊敏なアプリケーションの実行が可能となります。
アプリケーション開発の高速化を実現する技術としてコンテナは期待されています。
従来環境では、検証環境から本番環境へ移行する際、本番環境にアプリケーションの動作環境を構築する作業が必要でした。一方コンテナでは、アプリケーションを移行する際、アプリケーションのパッケージ化により物理サーバの環境に依存せず動作させることが可能となり、検証環境でコンテナ化したアプリケーションをそのまま本番環境で動作させることができます。つまり、コンテナはアプリケーションのポータビリティを提供し開発の高速化を実現します。
しかし、本番環境でコンテナを運用する際には、データについての考慮が必要です。ステートフルなアプリケーションをコンテナ内で使用したい場合にデータのポータビリティに課題がありました。永続ストレージを使用することでアプリケーションのポータビリティを維持したまま、データのポータビリティも向上します。
以下2つの製品は Hitachi Storage Plug-in for Containers と連携して動作します。
Hitachi Storage Plug-in for Prometheusは、Hitachi Storage Plug-in for Containers と連携して動作するコンテナで、Kubernetes環境におけるストレージのメトリクスをPrometheusTM*1に収集して監視する機能を提供します。
Hitachi Replication Plug-in for Containers は、Hitachi Storage Plug-in for Containers と連携して動作するコンテナで、Kubernetes環境でリモートレプリケーション機能を提供します。
HSPC、HSPP、HRPCを使うと、次のような課題を解決できます。
コンテナ環境ではコンテナを削除するとコンテナ内のデータも削除されてしまいます。サーバ上のディレクトリをコンテナのデータ領域として永続化することは可能ですが、サーバを跨いだデータの移動ができずコンテナの利点であるポータビリティを下げてしまうため、ステートフルなアプリケーションとの相性が悪いです。
Hitachi Storage Plug-in for Containersを使用すると、コンテナのデータを日立ストレージのボリューム上に永続化可能となり、データのポータビリティが向上します。またこれによりステートフルなアプリケーションにおいてもサーバを越えて移動が可能となります。
ステートフルなアプリケーションでコンテナを使用する場合、アプリケーション開発者はストレージリソース(永続ボリューム)を確保するためにDevOps管理者やプラットフォーム管理者との連携が必要となります。そのため、待ち時間の発生により効率的に進めることができず、作業時間がかかりコストが高くなってしまいます。
Hitachi Storage Plug-in for Containersを使用すると、アプリケーション開発者は、動的にプロビジョニングされた日立ストレージのボリュームを永続ボリュームとして割り当て可能になります。また、アプリケーション開発者が使い慣れたコンテナオーケストレーションソフトウェアのユーザインターフェースを使用して、コンテナにボリュームを割り当てる操作を一括して実施できます。このため、作業の負担やコストを削減でき、効率的なアプリケーション開発が可能になります。
安定したシステム運用のためにはリソースの監視が欠かせません。しかしKubernetesのリソースと日立のストレージシステムの両方を監視するために、アプリケーションが使用するストレージボリュームを特定する必要があります。また監視のための個別のツールを使用したりしなければならないこともあります。これにはアプリケーション開発者やDevOps管理者にもストレージのスキルが必要とされることもあり、統合的な監視ができないなど、大きな負担となります。
Hitachi Storage Plug-in for Prometheus(HSPP)を使用すれば、PVCやPodなどに関するストレージの情報を収集し、Prometheusに送信します。これによりKubernetesと日立ストレージのリソース情報をPrometheusに集約でき、アプリケーション開発者やDevOps管理者は、ストレージの知識がなくてもボリューム(PV)の情報が確認できるようになります。ストレージリソースを含めたKubernetesの情報をPrometheusに集約することで、監視やトラブルシューティングの手間を大幅に減らします。
データセンタを跨いでボリュームをバックアップしたい場合、コンテナ管理者とストレージ管理者の両者が連携*してバックアップのオペレーションを実施する必要がありました。
Hitachi Replication Plug-in for Containers(HRPC)ならKubernetes管理者だけでリモートサイトへバックアップできます。HRPCを使うとKubernetes上でPVCのリモートコピーが行えます。
コンテナ関連のリソースがストレージレプリケーション機能で管理され、ユーザはPVCがストレージ上のどのボリュームに対応するか把握する必要なくバックアップを取得することができます。
災害など大規模な障害発生時にも業務を継続するためには、Kubernetes環境をリモートサイトにバックアップし、万が一の時にリモートサイトで業務継続できるようにしておくことが災害対策の1つです。
ボリュームのみをリモートサイトにコピーした場合、ボリュームはPVCとして管理されていないためKubernetes環境にPVCとして取り込む必要があります。またリモートサイトに取り込むためには、正サイトのボリュームとPVC情報との対応関係を別途控えておき、リモートサイトで復元する必要がありますが、作業が多いためフェイルオーバー時の復旧に時間がかかるという課題があります。
Hitachi Replication Plug-in for ContainersならKubernetes環境でリモートレプリケーション機能を提供できます。
バックアップの設定からリモートサイトへのフェイルオーバーもKubernetesからの操作で完了します。
コンテナ関連のリソースがストレージレプリケーション機能で管理され、正サイトと同様に、ストレージのボリュームを意識することなくPVCとして管理可能です。
また、事前にリモートサイトでKubernetes環境を構築しておくことで、フェイルオーバー時に復旧までの時間を短縮できます。