website/content/zh/docs/tasks/configure-pod-container/configure-projected-volume-...

3.7 KiB
Raw Blame History

title content_type weight
配置 Pod 使用投射卷作存储 task 70

本文介绍怎样通过projected 卷将现有的多个卷资源挂载到相同的目录。 当前,secretconfigMapdownwardAPIserviceAccountToken 卷可以被投射。

{{< note >}} serviceAccountToken 不是一种卷类型 {{< /note >}}

{{% heading "prerequisites" %}}

{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}

为 Pod 配置 projected 卷

本练习中,您将从本地文件来创建包含有用户名和密码的 Secret。然后创建运行一个容器的 Pod 该 Pod 使用projected 卷将 Secret 挂载到相同的路径下。

下面是 Pod 的配置文件:

{{< codenew file="pods/storage/projected.yaml" >}}

  1. 创建 Secret:

    # 创建包含用户名和密码的文件:
    echo -n "admin" > ./username.txt
    echo -n "1f2d1e2e67df" > ./password.txt
    
    # 将上述文件引用到 Secret
    kubectl create secret generic user --from-file=./username.txt
    kubectl create secret generic pass --from-file=./password.txt
    
  2. 创建 Pod

    kubectl create -f https://k8s.io/examples/pods/storage/projected.yaml
    
  3. 确认 Pod 中的容器运行正常,然后监视 Pod 的变化:

    kubectl get --watch pod test-projected-volume
    

    输出结果和下面类似:

    NAME                    READY     STATUS    RESTARTS   AGE
    test-projected-volume   1/1       Running   0          14s
    
  4. 在另外一个终端中,打开容器的 shell

    kubectl exec -it test-projected-volume -- /bin/sh
    
  5. 在 shell 中,确认 projected-volume 目录包含你的投射源:

    ls /projected-volume/
    

清理

删除 Pod 和 Secret:

kubectl delete pod test-projected-volume
kubectl delete secret user pass

{{% heading "whatsnext" %}}