このページでは、クラスタに Volume リソースを作成する方法について説明します。詳細については、Volume に関する Kubernetes のドキュメントをご覧ください。
Deployment でのボリュームの使用
各 Pod に 1 つ以上のボリュームが含まれている複数の Pod の Deployment を作成できます。次の Deployment マニフェストには、各 Pod に emptyDir ボリュームが含まれる 3 つの Pod の Deployment が記述されています。
この例では、
- metadata: nameフィールドに、- volumes-example-deploymentという名前の Deployment を指定します。
- Pod テンプレートの仕様には、cache-volumeという名前の emptyDir ボリュームを記述するvolumesフィールドが含まれています。
- コンテナ仕様には、cache-volumeという名前の Volume がファイルパス/cacheでマウントされることを指定するvolumeMounts:フィールドが含まれています。
- マニフェスト ファイルの名前は volumes-demo.yamlです。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: volumes-example-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: demo
  template:
    metadata:
      labels:
        app: demo
    spec:
      containers:
      - name: test-container
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
        volumeMounts:
        - mountPath: /cache
          name: cache-volume
      volumes:
        - name: cache-volume
          emptyDir: {}
このマニフェスト ファイルから Deployment を作成するには、次のコマンドを実行します。
kubectl apply -f volumes-demo.yaml
次のコマンドを使用して、Deployment が正しく実行され、期待されるボリュームがあることを確認します。
kubectl describe pods volumes-example-deployment
これにより、Deployment 内の 3 つの Pod のそれぞれに関する情報が表示されます。出力は、各 Pod にマウント先として /cache を使用するコンテナ test-container があることを示しています。
Mounts:
  /cache from cache-volume (rw)
また、各 Pod に cache-volume という名前の Volume が存在することも示されています。
Volumes:
  cache-volume:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
Deployment の作成の詳細については、Deployment を作成するをご覧ください。
次のステップ
- PersistentVolumes、PersistentVolumeClaims、ストレージの動的プロビジョニングについて学習する。
- Compute Engine 永続ディスクの CSI ドライバの使い方を学習する。