このページでは、クラスタに 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 ドライバの使い方を学習する。