本页面介绍如何在集群中创建卷资源。如需了解详情,请参阅有关卷的 Kubernetes 文档。
将卷与 Deployment 结合使用
您可以为 Pod 创建 Deployment,其中每个 Pod 包含一个或多个卷。以下 Deployment 清单介绍了三个 Pod 的 Deployment,每个 Pod 都具有 emptyDir 卷。
在此示例中:
metadata: name
字段指定名为volumes-example-deployment
的 Deployment。- Pod 模板规范包括一个
volumes
字段,用于描述名为cache-volume
的 emptyDir 卷。 - 容器规范包括一个
volumeMounts:
字段,用于指定在文件路径/cache
中装载名为cache-volume
的卷。 - 清单文件名为
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 中三个 Pod 的相关信息。输出结果会显示每个 Pod 都有一个容器、测试容器以及 /cache
装载:
Mounts:
/cache from cache-volume (rw)
输出结果还会显示每个 Pod 都包含一个名为 cache-volume
的卷:
Volumes:
cache-volume:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
要详细了解如何创建 Deployment,请参阅创建 Deployment。