このページでは、クラスタにボリューム リソースを作成する方法について説明します。Kubernetes でのボリュームの詳細と Google Kubernetes Engine での使用方法については、ボリュームの概要をご覧ください。
Deployment でのボリュームの使用
各ポッドに 1 つ以上のボリュームが含まれている複数のポッドの Deployment を作成できます。次の Deployment マニフェストには、各ポッドに emptyDir ボリュームが含まれる 3 つのポッドの Deployment が記述されています。
この例では、次のようになります。
metadata: name
フィールドは、volumes-example-deployment
という名前の Deployment を指定します。- Pod テンプレートの仕様には、
cache-volume
という名前の emptyDir ボリュームを記述するvolumes
フィールドが含まれています。 - コンテナ仕様には、
cache-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 が正しく実行され、期待されるボリュームがあることを確認します。
kubectl describe pods volumes-example-deployment
これにより、Deployment 内の 3 つのポッドのそれぞれに関する情報が表示されます。出力には、各ポッドにマウント先として /cache
使用するコンテナ test-container があることを示しています。
Mounts: /cache from cache-volume (rw)
また、各ポッドに cache-volume
という名前のボリュームが含まれていることも表示されます。
Volumes: cache-volume: Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Deployment の作成の詳細については、Deployment を作成するをご覧ください。