mirror of https://github.com/knative/docs.git
parent
304459f85c
commit
20aa33b915
|
@ -1,12 +1,36 @@
|
||||||
# Volume Support for Knative services
|
# Volume Support for Knative services
|
||||||
|
|
||||||
By default Serving supports the mounting the [volume types](https://kubernetes.io/docs/concepts/storage/volumes): `emptyDir`, `secret`, `configMap` and `projected`. [PersistentVolumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) are supported but require a [feature flag](../configuration/feature-flags.md) to be enabled.
|
You can provide data storage for Knative Services by configuring different volumes types.
|
||||||
|
Serving supports mounting the [volume types](https://kubernetes.io/docs/concepts/storage/volumes): `emptyDir`, `secret`, `configMap` and `projected`.
|
||||||
|
[PersistentVolumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) are supported but require a [feature flag](../configuration/feature-flags.md) to be enabled.
|
||||||
|
|
||||||
!!! warning
|
!!! warning
|
||||||
|
|
||||||
Mounting large volumes may add considerable overhead to the application's start up time.
|
Mounting large volumes may add considerable overhead to the application's start up time.
|
||||||
|
|
||||||
|
|
||||||
Here is an example of using a persistent volume claim with a Knative Service:
|
Bellow there is an example of using a persistent volume claim with a Knative Service.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
Before you can configure PVCs for a Service, this feature must be enabled in the `config-features` ConfigMap as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
kubectl patch --namespace knative-serving configmap/config-features \
|
||||||
|
--type merge \
|
||||||
|
--patch '{"data":{"kubernetes.podspec-persistent-volume-claim": "enabled", "kubernetes.podspec-persistent-volume-write": "enabled"}}'
|
||||||
|
```
|
||||||
|
|
||||||
|
* The `kubernetes.podspec-persistent-volume-claim` extension controls whether persistent volumes (PVs) can be used with Knative Serving.
|
||||||
|
* The `kubernetes.podspec-persistent-volume-write` extension controls whether PVs are available to Knative Serving with the write access.
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
|
||||||
|
If you have installed Serving via the Knative operator then you need to set the above feature flags **only** at the corresponding Serving CR.
|
||||||
|
|
||||||
|
## Procedure
|
||||||
|
|
||||||
|
* Modify the PVC configuration for your Service:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: serving.knative.dev/v1
|
apiVersion: serving.knative.dev/v1
|
||||||
|
@ -16,8 +40,8 @@ spec:
|
||||||
template:
|
template:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
...
|
...
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /data
|
- mountPath: /data
|
||||||
name: mydata
|
name: mydata
|
||||||
readOnly: false
|
readOnly: false
|
||||||
|
@ -37,4 +61,4 @@ spec:
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 1Gi
|
storage: 1Gi
|
||||||
```
|
```
|
Loading…
Reference in New Issue