Volume の作成


このページでは、クラスタに Volume リソースを作成する方法について説明します。詳細については、Volume に関する Kubernetes のドキュメントをご覧ください。

Deployment での Volume の使用

各 Pod に 1 つ以上の Volume が含まれている複数の Pod の Deployment を作成できます。次の Deployment マニフェストには、各 Pod に emptyDir Volume が含まれる 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 を作成するをご覧ください。

次のステップ