このトピックでは、Apsara File Storage NAS (NAS) ファイルシステムをContainer Service for Kubernetes (ACK) クラスターにマウントするために使用できる推奨方法について説明します。 NASファイルシステムは、Container Storage Interface (CSI) プラグインまたはContainer Network file System (CNFS) を使用してマウントできます。
次のいずれかの方法でNASファイルシステムをマウントすることを推奨します。 他の方法を使用してNASファイルシステムをマウントすると、ファイルシステムが安定性のリスクにさらされる可能性があります。 NAS技術チームは、これらのリスクの影響を推定できません。 あなたは、リスクから生じる可能性のあるすべての損失と結果に対して単独で責任を負います。
ACKのストレージプラグイン
CSIプラグインに基づいて、Alibaba Cloud ACKはAlibaba Cloudストレージサービスと深く統合され、Kubernetesネイティブストレージサービスと完全に互換性があります。
CNFSは、CSIプラグインに基づいて開発されたコンテナストレージ管理のための新しい方法です。 CNFSは、従来のCSI記憶方法と互換性がある。 ACKを使用する場合は、CNFSを使用してNASボリュームを管理およびアクセスすることを推奨します。 これにより、パフォーマンスが大幅に向上し、強力な管理機能とI/O可観測性が提供されます。
コンテナークラスターが小さく、スケーリング頻度が低く、主にテスト目的で使用される場合は、HostPathメソッドを使用してNASファイルシステムにアクセスすることもできます。 詳細については、「hostPathボリュームの使用」をご参照ください。
多数のノードを含み、自動スケーリングをサポートする自己管理型Kubernetesクラスターを使用している場合、CSIプラグインを使用してNASファイルシステムにアクセスすることを推奨します。 安定した規模のクラスターでは、Kubernetesの組み込みボリュームを使用してNASファイルシステムにアクセスすることを推奨します。 詳細については、「自己管理型KubernetesクラスターへのNASファイルシステムのマウント」をご参照ください。
以下の点にご注意ください。
新しいACKクラスターにファイルシステムをマウントするには、CNFSの使用を推奨します。
既存のACKクラスターにファイルシステムをマウントするには、クラスターをCNFSに移行することを推奨します。
既存のKubernetesクラスターにファイルシステムをマウントするには、すでにインストールされているストレージプラグインを使用することを推奨します。
CSIプラグインの詳細については、「CSIの概要」をご参照ください。
CNFSを使用したファイルシステムのマウント (推奨)
コンテナ内で従来の共有NASファイルシステムを使用すると、次の問題が発生する可能性があります。小さなファイルの読み書きの待ち時間が長く、容量クォータの正確な制御が不足し、誤って削除されたファイルを復元できず、ストレージボリュームの観測可能なメトリックが欠落しています。 CNFSでは、CustomResourceDefinition (CRD) リソースを使用して、NASファイルシステムをカスタムKubernetesオブジェクトとして抽象化できます。 カスタムオブジェクトを使用して、NASファイルシステムを作成、削除、記述、マウント、監視、およびスケールアップできます。 さらに、CSIプラグインでNASのアクセラレーションクライアントを使用して、NASへのアクセスを大幅に高速化できます。 CNFSは無料です。 アクセラレーションクライアントを有効にすると、CNFSはポッド内で約50〜100 MBのメモリを消費します。
メトリック | ベンチマークシナリオの1 | CNFSアクセラレーションクライアントを使用する前 | CNFSアクセラレーションクライアントの使用後 |
メタデータの読み取りと書き込みのパフォーマンス | 百万のディレクトリを横断する期間 | 18分 | <60秒 |
サイズが4 KBのファイルを作成する期間 | 3,000マイクロ秒 | <200マイクロ秒 | |
4 KBのサイズのファイルを2回目に読み取る期間 | 400マイクロ秒 | <100マイクロ秒 | |
読み取りおよび書き込みスループット | 単一ノード2の読み取りおよび書き込みスループット | 500メガバイト/秒に200 | > 800メガバイト/秒 |
包括的なシナリオでの全体的なパフォーマンス | それぞれサイズが150 KBの5,000画像を抽出する期間 | 52秒 | 15秒について |
Redisプロジェクトの作成期間 | 27秒 | 21秒について |
前の表に示した値は、理論値 (基準値) のみである。 実際の値は、お客様の運用環境によって異なります。
注1: ベンチマークテストの実行に使用されるElastic Compute Service (ECS) インスタンスのタイプはecs.hfg6.4xlargeです。 ベンチマークデータは、環境に基づいて変化し得る。
注2: ECSインスタンスの帯域幅とNASファイルシステムのタイプは、ノードの読み取りおよび書き込みスループットに影響します。
CNFSを使用してNASファイルシステムにアクセスする場合は、「CNFSを使用してNASファイルシステムを管理する (推奨) 」をご参照ください。
AIトレーニングや生物学的コンピューティングなどの科学的コンピューティング、継続的インテグレーションまたは継続的デリバリー (CI/CD) プラットフォームの構築、Webサイトサービスの提供にコンテナを使用する場合は、CNFSの分散読み取りキャッシュ機能を有効にすることを推奨します。 詳細については、「CNFSクライアントの分散キャッシュ機能の有効化」をご参照ください。
CNFSの詳細については、「CNFSを使用したNASファイルシステムの管理 (推奨) 」をご参照ください。
CSIプラグインを使用したファイルシステムのマウント
CSIプラグインを使用してファイルシステムをマウントする方法については、「NASボリュームの概要」をご参照ください。
CSIプラグインは、次の方法をサポートします。
ファイルシステムを静的永続ボリューム (PV) としてマウントします。 詳細については、「NFSを使用して静的にプロビジョニングされたNASボリュームをマウントする」をご参照ください。
ファイルシステムを動的PVとしてマウントします。 詳細については、「NFSを使用して動的にプロビジョニングされたNASボリュームをマウントする」をご参照ください。
詳細については、「CSIプラグインの管理」、「NAS NFSボリュームのサブディレクトリのクォータの設定」、および「NASボリュームに関するFAQ」をご参照ください。