Knative 服務的磁碟區支援¶
您可以透過設定不同的磁碟區類型,為 Knative 服務提供資料儲存。Serving 支援掛載 磁碟區類型:emptyDir
、secret
、configMap
和 projected
。PersistentVolumes 受到支援,但需要啟用功能旗標。
警告
掛載大型磁碟區可能會為應用程式的啟動時間增加相當大的負擔。
以下是如何使用具永久性磁碟區宣告的 Knative 服務範例。
先決條件¶
在您為服務設定 PVC 之前,必須在 config-features
ConfigMap 中啟用此功能,如下所示
kubectl patch --namespace knative-serving configmap/config-features \
--type merge \
--patch '{"data":{"kubernetes.podspec-persistent-volume-claim": "enabled", "kubernetes.podspec-persistent-volume-write": "enabled"}}'
kubernetes.podspec-persistent-volume-claim
延伸功能控制是否可以將永久性磁碟區 (PV) 與 Knative Serving 搭配使用。kubernetes.podspec-persistent-volume-write
延伸功能控制是否可讓 Knative Serving 以寫入權限使用 PV。
注意
如果您是透過 Knative 運算子安裝 Serving,則您需要 **僅** 在對應的 Serving CR 中設定上述功能旗標。
程序¶
- 修改您的服務的 PVC 設定
apiVersion: serving.knative.dev/v1
kind: Service
...
spec:
template:
spec:
containers:
...
volumeMounts:
- mountPath: /data
name: mydata
readOnly: false
volumes:
- name: mydata
persistentVolumeClaim:
claimName: knative-pv-claim
readOnly: false
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: knative-pv-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi