[英]How to specify a storage class to user pvc in kubeflow
我正在嘗試將存儲類附加到單個用戶吊艙為kubeflow中的jupyter筆記本創建的所有PVC請求中。
我嘗試編輯一些值並指定storage_class。 但是它們都不起作用,每當出現新的pvc時,它都不會帶有存儲類名稱。
期望的結果是,每當有一個用戶pod的pvc出現時,它都應該附帶存儲類的名稱。 請對此提供幫助。 我被困在最后一天
您需要在群集中具有默認存儲類,因此,如果pvc沒有指定任何存儲類,則將選擇默認存儲類。
列出集群中的StorageClasses:
kubectl get storageclass
將StorageClass標記為默認值:設置注釋storageclass.kubernetes.io/is-default-class=true。
kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
基於文檔
雖然PersistentVolumeClaims允許用戶使用抽象存儲資源,但是對於不同的問題,用戶通常需要具有不同屬性(例如性能)的PersistentVolume 。 集群管理員需要能夠提供各種PersistentVolume ,這些PersistentVolume不僅在大小和訪問模式上有更多差異,而且還不讓用戶了解如何實現這些卷的細節。 對於這些需求,有StorageClass資源。
PersistentVolume (PV)是群集中的一塊存儲,已由管理員提供或使用存儲類動態提供。
apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: <name_of_your_StorageClass>
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
PersistentVolumeClaim (PVC)是用戶存儲請求。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
storageClassName: <name_of_your_StorageClass>
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
然后,您可以創建一個將PVC用作卷的Pod(將PV與storageClass一起使用)
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
在創建PV和PVC之前, StorageClass必須已經存在,如果不是默認值,則將使用它。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: <name_of_your_StorageClass>
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
reclaimPolicy: Retain
allowVolumeExpansion: true
mountOptions:
- debug
volumeBindingMode: Immediate
您可以使用以下命令檢查StorageClasses:
kubectl get sc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.