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

Container Service for Kubernetes:csi-pluginおよびcsi-provisionerコンポーネントの管理

最終更新日:Nov 22, 2024

Container Storage Interface (CSI) プラグインは、csi-pluginとcsi-provisionerで構成されています。 これらのコンポーネントを使用して、ボリュームを自動的に作成し、マウントおよびアンインストールできます。

前提条件

Kubernetesバージョン1.14以降を実行するContainer Service for Kubernetes (ACK) クラスターが作成され、クラスターのボリュームプラグインとしてCSIプラグインが指定されます。 詳細については、「クラスターの作成」をご参照ください。

概要

CSIプラグインは、デフォルトでACKクラスターにデプロイされるcsi-pluginとcsi-provisionerで構成されます。 CSIの詳細については、「alibaba-cloud-csi-driver」をご参照ください。 CSIの基本情報とリリースノートの詳細については、「csi-plugin」および「csi-provisioner」をご参照ください。

  • csi-plugin: ボリュームのマウントとマウント解除に使用されます。 デフォルトでは、ACKでは、csi-pluginを使用して、ディスクボリューム、File Storage NAS (NAS) ボリューム、およびObject Storage Service (OSS) ボリュームのタイプのボリュームをマウントできます。

  • csi-provisioner: ボリュームを自動的に作成するために使用されます。 ディスクボリュームとNASボリュームがサポートされています。

次の図は、ACK管理クラスターACK専用クラスターのCSIプラグインの展開アーキテクチャを示しています。

ACK管理クラスター

ACK専用クラスター

csi managed

ACK管理クラスターでは、csi-provisionerとcsi-pluginの両方がワーカーノードで実行されます。

flexvolume

ACK専用クラスターでは、csi-provisionerはマスターノードにデプロイされます。 csi-pluginは、DaemonSetとしてマスターノードとワーカーノードに自動的にデプロイされます。

CSIプラグインが正常にインストールされていることを確認する

ACK管理クラスターまたはACK専用クラスターを作成するときにCSIプラグインをボリュームプラグインとして指定した場合、システムはデフォルトでcsi-pluginとcsi-provisionerをインストールします。

重要

システムによってインストールされているcsi-pluginとcsi-provisionerをアンインストールしないでください。 そうしないと、Alibaba Cloudディスク、OSSバケット、またはNASファイルシステムのマウントに失敗します。

次の手順を実行して、csi-pluginおよびcsi-provisionerコンポーネントが正常にデプロイされていることを確認できます。

  • 次のコマンドを実行して、csi-pluginがクラスターにインストールされているかどうかを確認します。

    kubectl get pod -n kube-system | grep csi-plugin
  • 次のコマンドを実行して、csi-provisionerがクラスターにインストールされているかどうかを確認します。

    kubectl get pod -n kube-system | grep csi-provisioner

csi-pluginとcsi-provisionerの更新

ACKコンソールでcsi-pluginとcsi-provisionerを確認および更新できます。

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

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

  3. [ストレージ] タブをクリックし、csi-plugincsi-provisionerを見つけて、コンポーネントを更新できるかどうかを確認します。 アップグレードが表示されたら、コンポーネントを更新します。

FAQ about update failures

重要

CSI-compatible-controllerコンポーネントを使用してクラスターをFlexVolumeからcsiに移行し、移行がまだ進行中の場合、csi-pluginおよびcsi-provisionerコンポーネントを自動的に更新することはできません。 コンポーネントを更新する前に移行を完了するか、移行プロセス中にCSIコンポーネントを手動で更新することを推奨します。 詳細については、「コンポーネントの更新」をご参照ください。

コンソールでコンポーネントの更新に失敗した場合、またはコンポーネントが事前チェックに合格しなかった場合は、次の操作を実行してトラブルシューティングを行うことができます。

csi-pluginが事前チェックに合格しません

  • ディスク、NASファイルシステム、またはOSSバケットを使用するボリュームがクラスターにプロビジョニングされていない場合は、csi-pluginを手動で更新する必要があります。

  • ディスク、NASファイルシステム、またはOSSバケットを使用するボリュームがクラスターでプロビジョニングされ、クラスターがステージング環境で作成されている場合は、csi-pluginを手動で更新する必要があります。

  • ディスク、NASファイルシステム、またはOSSバケットを使用するボリュームがクラスターにプロビジョニングされ、ビジネスクリティカルなデータがボリュームに格納されている場合は、チケットを送信

    テクニカルサポートを要求するため。

csi-pluginは事前チェックを渡しますが、更新に失敗します

クラスター内のノードが準備完了状態かどうかを確認します。 NotReady状態のノードにcsi-pluginがインストールされている場合は、ノードの状態を修正する必要があります。

問題が解決しない場合は、チケットを送信

手動更新を申請します。

csi-pluginはコンソールに表示されますが、csi-provisionerは表示されません

csi-provisionerはStatefulSetとしてデプロイされます。 この場合、チケットを送信

手動更新を申請します。

csi-provisionerが事前チェックに合格しません

  • ディスクまたはNASファイルシステムを使用するボリュームがクラスタ内のStorageClassesを使用して動的にプロビジョニングされていない場合は、csi-provisionerを手動で更新する必要があります。

  • ディスクまたはNASファイルシステムを使用するボリュームが、クラスタ内のStorageClassesを使用して動的にプロビジョニングされ、クラスタがステージング環境で作成されている場合、CSI-Provisionerを手動で更新する必要があります。

  • ディスクまたはNASファイルシステムを使用するボリュームがクラスタ内のStorageClassesを使用して動的にプロビジョニングされ、ビジネスクリティカルなデータがボリュームに格納されている場合、チケットを送信

    手動更新を申請します。

csi-provisionerは事前チェックに合格しますが、更新に失敗します

チケットを送信

手動更新を申請します。

関連ドキュメント

CSIコンポーネントの基本情報とリリースノートの詳細については、「csi-plugin」および「csi-provisioner」をご参照ください。