- 印刷する
- PDF
NFS Client Provisioner の設定
- 印刷する
- PDF
VPC環境で利用できます。
NFS Client Provisionerは、PersistentVolumeClaimを用いて既に構成されている NFSサーバに、Persistent Volumeを自動で作成する Provisionerです。
Helm CLIを用いて NFS Client Provisionerをインストールし、NAVERクラウドプラットフォームの NASサービスに作成したボリュームと連携します。使用する前に以下をご参照ください。
- このガイドは Helm v3を基準に作成されました。
- Helmを使用するには、Kubectlのインストールと kubeconfigの設定を済ませておく必要があります。
- NFS Client Provisionerを用いて NASにマウントされたワーカーノードを停止する場合、停止失敗状態になります。これは OSのバグであり、マウントされた NASに対して I/Oが存在する場合に発生します。このような問題を防ぐには、ワーカーノードから Podを退避を参照して Podを退避してからノードを停止することをお勧めします。
- Kubernetes Service(VPC)は NASボリューム CSIを通じて NFSベースのストレージソリューションを使用できます。NFS Client Provisionerのインストールは必須項目ではありませんが、ユーザーの便宜のために NFS Client Provisionerのガイドを提供しています。
NFS Client Provisionerのインストール
Helmを用いて NFS Client Provisionerをインストールする方法は、次の通りです。
NAVERクラウドプラットフォームの NASサービスで NFSプロトコルでボリュームを作成します。
NASボリュームが作成されたら、マウント情報の IPアドレスと Path情報を確認します。
以下のリンクを参照し、使用中の OSに適した方法で Helmをインストールします。
以下のコマンドを実行して公式 Helm chart repositoryを CLIに追加します。
$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
以下のコマンドを実行して NFS Client Provisionerをインストールします。
$ helm install --kubeconfig=$KUBE_CONFIG nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \ --set nfs.server=__NAS_IP__ \ --set nfs.path=__NAS_PATH__
- ユースケース
- NAS_IP : 169.254.0.13
- NAS_PATH : /n000693_provisioner
- ユースケース
NFS Client Provisioner の設定
StorageClassを確認する
NFS Client Provisionerのインストールが完了した後に StorageClassを確認するには、以下のコマンドを実行してください。
kubectl --kubeconfig=$KUBE_CONFIG get storageclass
実行結果は次の通りです。
$ kubectl --kubeconfig=$KUBE_CONFIG get storageclass
NAME PROVISIONER AGE
nfs-client cluster.local/nfs-subdir-external-provisioner 5m49s
nks-block-storage (default) blk.csi.ncloud.com 3h39m
StorageClassを変更する
クラスタに基本的にブロックストレージ CSIがインストールされているので、StorageClassの照会時に nks-block-storageに defaultが表示されます。
PersistentVolumeClaimでボリュームを作成する時、その PersistentVolumeが作成される StorageClassを nfs-client-provisionerに変更するには、default設定を nfs-clientに変更します。
変更する方法に関する詳細は、以下のリンクをご参照ください。
ボリューム作成のユースケース
以下は、Jenkinsをインストールして作成されたボリュームを確認するユースケースです。
- 以下のコマンドを実行して Jenkinsをクラスタにインストールします。
$ helm --kubeconfig=$KUBE_CONFIG install ci stable/jenkins
- インストールを完了した後、以下のコマンドを実行して
PersistentVolumeClaim
とPersistentVolume
を確認します。$ kubectl --kubeconfig=$KUBE_CONFIG get pvc $ kubectl --kubeconfig=$KUBE_CONFIG get pv