创建卷


本页面介绍如何在集群中创建卷资源。如需了解详情,请参阅有关卷的 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

后续步骤