すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:csi-pluginを使用してノード側のストレージリソースを監視する

最終更新日:Nov 14, 2024

Container Service for Kubernetes (ACK) のストレージモニタリング機能は、Managed Service for Prometheusを使用して、ノード側のディスクおよびApsara File storage NAS (NAS) ボリュームの使用状況をモニタリングします。 このトピックでは、csi-pluginを使用してノード側のストレージリソースを監視する方法と、アラートルールを設定する方法の例について説明します。

前提条件

csi-plugin v1.18.8.46-afb19e46-aliyun以降のバージョンのみが、ディスク監視とNASファイルシステム監視の両方をサポートしています。 csi-pluginのYAMLファイルとイメージが最新バージョンに更新されていることを確認してください。 ACKコンソールでcsi-pluginを最新バージョンに更新できます。 詳細については、「ACKコンソールを使用したcsi-pluginのアップグレード」をご参照ください。

背景情報

ディスクボリュームまたはNASボリュームは、ACKクラスターにデータを保存するために一般的に使用されます。 デフォルトでは、最新バージョンのcsi-pluginがACKクラスターに自動的にインストールされ、ストレージ監視機能を使用して永続ボリュームクレーム (PVC) を監視します。 Managed Service for Prometheusは、PVCのステータスを監視し、容量しきい値とIOPSしきい値を設定するために使用されます。 このようにして、PVCの使用が異常なときにアラートを生成できます。

ACKコンソールを使用してcsi-pluginを更新する

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  3. ストレージタブをクリックし、csi-pluginを検索し、アップグレードをクリックします。

ストレージリソースを監視する方法

ノード側で監視できるのは、ディスクとNASファイルシステムだけです。 Managed Service for Prometheusによって提供されるモニタリングデータを表示するには、次の手順を実行します。

重要
  • ストレージリソースのモニタリングデータを表示するには、まずManaged Service for Prometheusを有効にする必要があります。 詳細については、「Prometheusのマネージドサービスの有効化」をご参照ください。

  • ストレージモニタリング機能を有効にすると、コンポーネントは自動的にメトリックをManaged Service for Prometheusに報告します。 これらのメトリックはカスタムメトリックと見なされます。 カスタム指標の料金を支払う必要がある場合があります。 ストレージモニタリング機能を有効にする前に、Prometheusのマネージドサービスの課金概要のトピックを読んで理解することをお勧めします。 料金は、クラスターのサイズとクラスターにデプロイされているアプリケーションの数によって異なります。 リソース使用量機能を使用して、リソースの使用量を監視および管理できます。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [Prometheusモニタリング] を選択します。

  3. ストレージモニタリングタブをクリックし、CSI-ノードタブをクリックしてノードダッシュボードを表示します。

    metrics

  • フィルター

    フィルター

    説明

    StorageType

    ストレージリソースのタイプ。 diskの値はディスクを示します。 nasの値は、NASファイルシステムを示します。

    名前空間

    PVCが属する名前空間

    PVC

    PVCの名前。

  • メトリクス

    メトリック

    説明

    単位

    IOPS

    PVCの読み取り /書き込みIOPS

    ops/s (1秒あたりの読み取り /書き込み数)

    レイテンシ (avg)

    PVCが読み取り /書き込み要求を処理する平均レイテンシ

    ms (ミリ秒)

    スループット

    PVCのスループット

    GB

    キュー内のIOカウント

    キュー内のI/Oリクエストの数

    集計

    使用済み容量

    PVCの使用されたストレージ

    GB

    総容量

    PVCのストレージ容量

    GB

    フリー容量

    PVCの利用可能なストレージ

    GB

ディスク監視の例

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [Prometheusモニタリング] を選択します。

  3. Prometheusモニタリングページで、ストレージモニタリングタブをクリックし、CSI-ノードタブをクリックします。

  4. ディスクボリュームのStorageTypeNamespace、およびPVC名を指定します。 次に、[合計容量] セクションでディスクボリュームの現在の容量を確認できます。

    この例では、StorageTypediskNamespacedefaultPVCpvc-disk-static-create1に設定します。 云盘存储监控资源上の図は、ディスクの総容量が39.25 GiBであることを示しています。 48.2 MiBが使用されており、39.18 GiBが利用可能です。

  5. ディスクにデータを書き込みます。

    1. 次のコマンドを実行して、ディスクがマウントされているアプリケーションの名前を照会します。

      kubectl get pod

      期待される出力:

      NAME                                              READY   STATUS    RESTARTS   AGE
      deployment-disk-static-create1-67f4b5cfdc-p5q7t   1/1     Running   0          20m
    2. 次のコマンドを実行して、アプリケーションにログインします。

      kubectl exec deployment-disk-static-create1-67f4b5cfdc-p5q7t -ti sh
    3. 次のコマンドを実行して、ディスクがマウントされている /dataディレクトリに20 GiBのデータを書き込みます。

      cd /data
      /usr/bin/fio -direct=1 -iodepth=256 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=1 -runtime=100 -group_reporting -name=Rand_Write_Testing -filename=./test -size=20G
  6. Prometheusモニタリングページで、ストレージモニタリングタブをクリックし、CSI-ノードタブをクリックしてディスクボリュームの監視データを表示します。

    云盘存储监控数据写入后上の図は、書き込みIOPSが4,000、スループットが15メガバイト/秒、データが20 GiB、残りのディスク容量が19 GiB、平均レイテンシが67ミリ秒であることを示しています。

NASファイルシステムの監視例

重要

NASファイルシステムモニタリングを使用するには、メトリクスの収集元である永続ボリューム (PV) が次の要件を満たしている必要があります。

  • NASファイルシステムはContainer Network file system (CNFS) によって管理され、NASファイルシステムはCapacityタイプです。

  • PVは、StorageClassを使用して作成された動的にプロビジョニングされたボリュームです。

  1. NASボリュームがマウントされているディレクトリにデータを書き込みます。

    1. 次のコマンドを実行して、NASボリュームがマウントされているアプリケーションの名前を照会します。

      kubectl get pod

      期待される出力:

      NAME                                   READY    STATUS    RESTARTS   AGE
      cnfs-nas-deployment-84f6cdf6cc-wvjjq   1/1      Running   0          20m
    2. 次のコマンドを実行して、アプリケーションにログインします。

      kubectl exec cnfs-nas-deployment-84f6cdf6cc-wvjjq -ti sh
    3. 次のコマンドを実行して、NASボリュームがマウントされている /dataディレクトリに20 GiBのデータを書き込みます。

      cd /data
      /usr/bin/fio -direct=1 -iodepth=256 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=1 -runtime=100 -group_reporting -name=Rand_Write_Testing -filename=./test -size=20G
  2. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  3. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [Prometheusモニタリング] を選択します。

  4. Prometheusモニタリングページで、ストレージモニタリングタブをクリックし、CSI-ノードタブをクリックします。

  5. NASボリュームのStorageType名前空間、およびPVC名を指定します。 次に、[合計容量] セクションでNASボリュームの現在の容量を確認できます。

    この例では、StorageTypenasNamespacedefaultPVCcnfs-nas-pvcに設定します。 NAS存储监控资源前の図は、書き込みIOPSが約15,000であり、スループットが10メガバイト/秒から60メガバイト/秒に増加し、平均レイテンシが15 msであることを示しています。

関連トピック