ブロックストレージCSIの例
- 印刷する
- PDF
ブロックストレージCSIの例
- 印刷する
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
VPC環境で利用できます。
ブロックストレージCSIで説明したCSIの使用方法に基づき、様々な方式でボリュームを割り当てる例です。
Podに複数のボリュームを割り当て
以下は、2つの新規ブロックストレージを作成してPodにマウントし、作成をリクエストするボリュームについてそれぞれPersistentVolumeClaim
をリクエストする例です。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-pod-1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: nks-block-storage
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-pod-2
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: nks-block-storage
---
kind: Pod
apiVersion: v1
metadata:
name: my-csi-app
spec:
containers:
- name: my-csi-app
image: busybox
volumeMounts:
- mountPath: "/data/pod-1/"
name: my-volume-1
- mountPath: "/data/pod-2/"
name: my-volume-2
command: [ "sleep", "1000000" ]
volumes:
- name: my-volume-1
persistentVolumeClaim:
claimName: csi-pod-1
- name: my-volume-2
persistentVolumeClaim:
claimName: csi-pod-2
DeploymentでPersistentVolumeを利用する
以下は、PersistentVolumeClaim
を作成して新規ボリュームの作成をリクエストする際に、Deploymentの template
でclaimName
を明示することで作成されたボリュームをマウントする例です。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-deployment-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: nks-block-storage
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-csi-app
spec:
selector:
matchLabels:
app: my-csi-app
replicas: 1
template:
metadata:
labels:
app: my-csi-app
spec:
containers:
- name: my-frontend
image: busybox
volumeMounts:
- mountPath: "/data"
name: my-volume
command: [ "sleep", "1000000" ]
volumes:
- name: my-volume
persistentVolumeClaim:
claimName: csi-deployment-pvc
StatefulSetでPersistentVolumeを利用する
以下は、StatefulSet
でvolumeClaimTemplates
を定義して各replicaに新しいPersistentVolumeClaim
を自動で作成する例です。
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: my-csi-app
spec:
serviceName: my-csi-app
selector:
matchLabels:
app: my-csi-app
replicas: 1
template:
metadata:
labels:
app: my-csi-app
spec:
containers:
- name: my-frontend
image: busybox
volumeMounts:
- mountPath: "/data"
name: my-volume
command: [ "sleep", "1000000" ]
volumeClaimTemplates:
- metadata:
name: my-volume
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
この記事は役に立ちましたか?