永続ボリュームの使用
この永続ストレージを使用するには、Kubernetesデプロイメントを作成し、永続ボリューム要求を割り当てます。
ファイル・システム・ストレージの使用
次の例では、ファイル・システム・ストレージを使用します:
$ kubectl create -f nginx-deploy.yaml
次に、nginx-deploy.yamlファイルの内容を示します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-fss-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx-fss
template:
metadata:
labels:
app: nginx-fss
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- mountPath: /usr/share/nginx/
name: data
ports:
- containerPort: 80
name: http
protocol: TCP
volumes:
- name: data
persistentVolumeClaim:
claimName: fss-pvc
ブロック・ボリューム・ストレージの使用
次の例では、ブロック・ボリューム・ストレージを使用します:
$ kubectl create -f nginx-deploy.yaml
次に、nginx-deploy.yamlファイルの内容を示します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-bv-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx-bv
template:
metadata:
labels:
app: nginx-bv
spec:
containers:
- name: nginx
image: available_internal_registry/nginx:latest
volumeMounts:
- mountPath: /usr/share/nginx/
name: data
ports:
- containerPort: 80
name: http
protocol: TCP
volumes:
- name: data
persistentVolumeClaim:
claimName: mynginxclaim
新しいストレージ・アセットの確認
get podサブコマンドを使用して、ポッド内のレプリカの名前を表示します:
$ kubectl get pod nginx-deployment-55ff88b668-2k8rt 1/1 Running 0 4m54s nginx-deployment-55ff88b668-79c2t 1/1 Running 0 4m54s nginx-deployment-55ff88b668-qpdfd 1/1 Running 0 4m54s
ポッドにログインし、Linuxのdfコマンドを使用して、アプリケーションのレプリカがpersistentVolumeClaimストレージを使用していることを示します。 df出力の「ファイルシステム」列には、マウント・ターゲットのIPアドレスとファイル・システムのエクスポート・パスが表示されます。
kubectl exec -it nginx-deployment-55ff88b668-2k8rt -- df -h /usr/share/nginx/html Filesystem Size Used Avail Use% Mounted on xxx.xx.xxx.xxx:/export/4fsderwh09ufyf84ei1lh3q2x8ou86pq5vcbx3aeeo060xxxxxxxxxxxxxxx 67T 0 67T 0% /usr/share/nginx/html