<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.riguz.com/index.php?action=history&amp;feed=atom&amp;title=Kubernetes_storage_class</id>
	<title>Kubernetes storage class - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.riguz.com/index.php?action=history&amp;feed=atom&amp;title=Kubernetes_storage_class"/>
	<link rel="alternate" type="text/html" href="https://wiki.riguz.com/index.php?title=Kubernetes_storage_class&amp;action=history"/>
	<updated>2026-06-02T20:37:31Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.riguz.com/index.php?title=Kubernetes_storage_class&amp;diff=4974&amp;oldid=prev</id>
		<title>Riguz：​创建页面，内容为“=NFS = &lt;syntaxhighlight lang=&quot;bash&quot;&gt; apt install nfs-common  # try to mount it mount -t nfs -o vers=3,nolock,proto=tcp,noresvport 10.19.31.01:/cfs-xxx /mnt/tmpnfs &lt;/syntaxhighlight&gt;  &lt;syntaxhighlight lang=&quot;bash&quot;&gt; sudo ctr images pull registry.k8s.io/sig-storage/nfsplugin:v4.6.0 sudo ctr images pull registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 sudo ctr images pull registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 sudo ctr images pull registry.k8s.io/sig-s…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.riguz.com/index.php?title=Kubernetes_storage_class&amp;diff=4974&amp;oldid=prev"/>
		<updated>2025-04-27T14:18:41Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“=NFS = &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; apt install nfs-common  # try to mount it mount -t nfs -o vers=3,nolock,proto=tcp,noresvport 10.19.31.01:/cfs-xxx /mnt/tmpnfs &amp;lt;/syntaxhighlight&amp;gt;  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; sudo ctr images pull registry.k8s.io/sig-storage/nfsplugin:v4.6.0 sudo ctr images pull registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 sudo ctr images pull registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 sudo ctr images pull registry.k8s.io/sig-s…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=NFS =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install nfs-common&lt;br /&gt;
&lt;br /&gt;
# try to mount it&lt;br /&gt;
mount -t nfs -o vers=3,nolock,proto=tcp,noresvport 10.19.31.01:/cfs-xxx /mnt/tmpnfs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ctr images pull registry.k8s.io/sig-storage/nfsplugin:v4.6.0&lt;br /&gt;
sudo ctr images pull registry.k8s.io/sig-storage/csi-provisioner:v3.6.2&lt;br /&gt;
sudo ctr images pull registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2&lt;br /&gt;
sudo ctr images pull registry.k8s.io/sig-storage/livenessprobe:v2.11.0&lt;br /&gt;
sudo ctr images pull registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1&lt;br /&gt;
sudo ctr images pull registry.k8s.io/sig-storage/snapshot-controller:v6.3.2&lt;br /&gt;
&lt;br /&gt;
sudo ctr images export nfs-csi-4.6.0.tar registry.k8s.io/sig-storage/nfsplugin:v4.6.0 registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 registry.k8s.io/sig-storage/livenessprobe:v2.11.0 registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1 registry.k8s.io/sig-storage/snapshot-controller:v6.3.2&lt;br /&gt;
&lt;br /&gt;
wget https://github.com/kubernetes-csi/csi-driver-nfs/archive/refs/tags/v4.6.0.tar.gz&lt;br /&gt;
tar -zxvf v4.6.0.tar.gz&lt;br /&gt;
helm install csi-derver-nfs ./csi-driver-nfs -n kube-system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a storage class:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: storage.k8s.io/v1&lt;br /&gt;
kind: StorageClass&lt;br /&gt;
metadata:&lt;br /&gt;
  name: nfs-csi&lt;br /&gt;
provisioner: nfs.csi.k8s.io&lt;br /&gt;
parameters:&lt;br /&gt;
  server: *********&lt;br /&gt;
  share: /cfs-*****&lt;br /&gt;
reclaimPolicy: Delete&lt;br /&gt;
volumeBindingMode: Immediate&lt;br /&gt;
mountOptions:&lt;br /&gt;
  - nfsvers=3&lt;br /&gt;
  - nolock&lt;br /&gt;
  - proto=tcp&lt;br /&gt;
  - noresvport&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f nfs-storageclass.yaml&lt;br /&gt;
kubectl get storageclass&lt;br /&gt;
NAME      PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE&lt;br /&gt;
nfs-csi   nfs.csi.k8s.io   Delete          Immediate           false                  5s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test use nfs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: PersistentVolumeClaim&lt;br /&gt;
metadata:&lt;br /&gt;
  name: pvc-nfs-dynamic&lt;br /&gt;
spec:&lt;br /&gt;
  accessModes:&lt;br /&gt;
    - ReadWriteMany&lt;br /&gt;
  resources:&lt;br /&gt;
    requests:&lt;br /&gt;
      storage: 1Gi&lt;br /&gt;
  storageClassName: nfs-csi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get pvc&lt;br /&gt;
NAME              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE&lt;br /&gt;
pvc-nfs-dynamic   Bound    pvc-25aef236-bc5b-413a-9cb6-5616ad060f96   1Gi        RWX            nfs-csi        &amp;lt;unset&amp;gt;                 7s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set nfs csi as default storage class:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl patch storageclass nfs-csi -p &amp;#039;{&amp;quot;metadata&amp;quot;: {&amp;quot;annotations&amp;quot;:{&amp;quot;storageclass.kubernetes.io/is-default-class&amp;quot;:&amp;quot;true&amp;quot;}}}&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenEBS LocalPV=&lt;br /&gt;
&lt;br /&gt;
Best for: Single-node clusters requiring features like snapshots, backups, or multi-disk management&amp;lt;ref&amp;gt;https://openebs.io/docs/quickstart-guide/installation&amp;lt;/ref&amp;gt;.&lt;br /&gt;
Why:&lt;br /&gt;
&lt;br /&gt;
* Extends local storage with enterprise features.&lt;br /&gt;
* Supports ReadWriteOnce (RWO) and integrates with Velero for backups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
helm repo add openebs https://openebs.github.io/openebs&lt;br /&gt;
helm repo update&lt;br /&gt;
&lt;br /&gt;
helm install openebs --namespace openebs openebs/openebs --set engines.replicated.mayastor.enabled=false --create-namespace&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
$ helm ls -n openebs&lt;br /&gt;
NAME   	NAMESPACE	REVISION	UPDATED                                STATUS  	CHART        	APP VERSION&lt;br /&gt;
openebs	openebs  	1       	2025-04-18 15:01:20.055693605 +0000 UTCdeployed	openebs-4.2.0	4.2.0&lt;br /&gt;
&lt;br /&gt;
$ kubectl get pods -n openebs&lt;br /&gt;
NAME                                              READY   STATUS    RESTARTS   AGE&lt;br /&gt;
openebs-localpv-provisioner-699ddcb856-b5qn7      1/1     Running   0          60s&lt;br /&gt;
openebs-lvm-localpv-controller-86b4d6dcff-lj8f9   5/5     Running   0          60s&lt;br /&gt;
openebs-lvm-localpv-node-pvlhj                    2/2     Running   0          60s&lt;br /&gt;
openebs-zfs-localpv-controller-5b7846bf9-l4tg8    5/5     Running   0          60s&lt;br /&gt;
openebs-zfs-localpv-node-jp9x5                    2/2     Running   0          60s&lt;br /&gt;
&lt;br /&gt;
$ kubectl get storageclass&lt;br /&gt;
NAME               PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE&lt;br /&gt;
openebs-hostpath   openebs.io/local   Delete          WaitForFirstConsumer   false                  86s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set to default:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl patch storageclass openebs-hostpath -p &amp;#039;{&amp;quot;metadata&amp;quot;: {&amp;quot;annotations&amp;quot;:{&amp;quot;storageclass.kubernetes.io/is-default-class&amp;quot;:&amp;quot;true&amp;quot;}}}&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux/Unix]]&lt;br /&gt;
[[Category:Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Riguz</name></author>
	</entry>
</feed>