ボリュームの作成

このページでは、クラスタに Volume リソースを作成する方法について説明します。Kubernetes での Volume の詳細と Google Kubernetes Engine での使用方法については、Volume の概要をご覧ください。

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: gcr.io/google-samples/hello-app:1.0
            volumeMounts:
            - mountPath: /cache
              name: cache-volume
          volumes:
            - name: cache-volume
              emptyDir: {}
        

このマニフェスト ファイルから Deployment を作成するには、次のコマンドを実行します。

    kubectl apply -f volumes-demo.yaml
    

次のコマンドを使用して、Deployment が正しく実行され、期待される Volume があることを確認します。

    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 を作成するをご覧ください。

次のステップ