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
拡張機能は、書き込みアクセス権限を持つ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