首页
随机
最近更改
特殊页面
社群首页
参数设置
关于WHY42
免责声明
WHY42
搜索
用户菜单
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁Kubernetes storage class”︁的源代码
←
Kubernetes storage class
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=NFS = <syntaxhighlight lang="bash"> 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 </syntaxhighlight> <syntaxhighlight lang="bash"> 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-storage/livenessprobe:v2.11.0 sudo ctr images pull registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1 sudo ctr images pull registry.k8s.io/sig-storage/snapshot-controller:v6.3.2 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 wget https://github.com/kubernetes-csi/csi-driver-nfs/archive/refs/tags/v4.6.0.tar.gz tar -zxvf v4.6.0.tar.gz helm install csi-derver-nfs ./csi-driver-nfs -n kube-system </syntaxhighlight> Create a storage class: <syntaxhighlight lang="bash"> apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-csi provisioner: nfs.csi.k8s.io parameters: server: ********* share: /cfs-***** reclaimPolicy: Delete volumeBindingMode: Immediate mountOptions: - nfsvers=3 - nolock - proto=tcp - noresvport </syntaxhighlight> <syntaxhighlight lang="bash"> kubectl apply -f nfs-storageclass.yaml kubectl get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE nfs-csi nfs.csi.k8s.io Delete Immediate false 5s </syntaxhighlight> Test use nfs: <syntaxhighlight lang="bash"> --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-nfs-dynamic spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi storageClassName: nfs-csi </syntaxhighlight> <syntaxhighlight lang="bash"> kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE pvc-nfs-dynamic Bound pvc-25aef236-bc5b-413a-9cb6-5616ad060f96 1Gi RWX nfs-csi <unset> 7s </syntaxhighlight> Set nfs csi as default storage class: <syntaxhighlight lang="bash"> kubectl patch storageclass nfs-csi -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' </syntaxhighlight> =OpenEBS LocalPV= Best for: Single-node clusters requiring features like snapshots, backups, or multi-disk management<ref>https://openebs.io/docs/quickstart-guide/installation</ref>. Why: * Extends local storage with enterprise features. * Supports ReadWriteOnce (RWO) and integrates with Velero for backups. <syntaxhighlight lang="bash"> helm repo add openebs https://openebs.github.io/openebs helm repo update helm install openebs --namespace openebs openebs/openebs --set engines.replicated.mayastor.enabled=false --create-namespace </syntaxhighlight> Verify: <syntaxhighlight lang="cpp"> $ helm ls -n openebs NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION openebs openebs 1 2025-04-18 15:01:20.055693605 +0000 UTCdeployed openebs-4.2.0 4.2.0 $ kubectl get pods -n openebs NAME READY STATUS RESTARTS AGE openebs-localpv-provisioner-699ddcb856-b5qn7 1/1 Running 0 60s openebs-lvm-localpv-controller-86b4d6dcff-lj8f9 5/5 Running 0 60s openebs-lvm-localpv-node-pvlhj 2/2 Running 0 60s openebs-zfs-localpv-controller-5b7846bf9-l4tg8 5/5 Running 0 60s openebs-zfs-localpv-node-jp9x5 2/2 Running 0 60s $ kubectl get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE openebs-hostpath openebs.io/local Delete WaitForFirstConsumer false 86s </syntaxhighlight> set to default: <syntaxhighlight lang="bash"> kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' </syntaxhighlight> [[Category:Linux/Unix]] [[Category:Kubernetes]]
返回
Kubernetes storage class
。