永続ボリュームの使用

この永続ストレージを使用するには、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