我在 AWS EKS 中有一個需要持久卷的 Kubernetes cron 作業,所以這大致是我所擁有的:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-{{$.Release.Name}}-tmp
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 10Gi
然后掛載到一個cronjob上(掛載部分是正確的,如下圖)
所有都使用 Helm 部署,并且新的部署超時,因為 PVC 保持在Pending帶有訊息的狀態waiting for the first consumer to be created before binding。如果在部署期間我根據 cron 作業創建了一個新作業,則 PVC 會立即系結,并且此和所有后續部署都按預期作業。
是否可以在沒有需要它的 pod 的情況下“熱切”地進行 PVC 系結,或者最好不要在圖表安裝期間等待它系結?
uj5u.com熱心網友回復:
您使用的存盤類別是什么?存盤類具有volumeBindingMode控制如何動態創建 PV 的屬性。
的volumeBindingMode可能是Immediate和WaitForFirstConsumer模式。
要檢查存盤類,您可以執行kubectl get storageclass或kubectl describe storageclass。如果未在 K8 PVC 定義中指定,則將使用默認存盤類。
參考:
- https://kubernetes.io/docs/concepts/storage/storage-classes/#volume-binding-mode
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/370055.html
