跳至内容

Knative 服务的卷支持

您可以通过配置不同的卷类型为 Knative 服务提供数据存储。Serving 支持挂载以下 卷类型: emptyDir, secret, configMapprojected持久卷 受支持,但需要启用 功能标志

警告

挂载大型卷可能会增加应用程序启动时间的额外开销。

下面是一个使用持久卷声明与 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

我们使用分析和 Cookie 来了解网站流量。有关您使用我们网站的信息将与 Google 共享,以用于该目的。 了解更多。