Knative 服务的卷支持¶
您可以通过配置不同的卷类型为 Knative 服务提供数据存储。Serving 支持挂载以下 卷类型: emptyDir
, secret
, configMap
和 projected
。 持久卷 受支持,但需要启用 功能标志。
警告
挂载大型卷可能会增加应用程序启动时间的额外开销。
下面是一个使用持久卷声明与 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
扩展控制 PV 是否可用于 Knative Serving,并具有写入访问权限。
注意
如果您通过 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