本文介绍怎样通过投射
卷将现有的多个卷资源挂载到相同的目录。
当前,secret
、configMap
、downwardAPI
和 serviceAccountToken
卷可以被投射。
Note:
serviceAccountToken
不是一种卷类型
您必须拥有一个 Kubernetes 集群,并且必须使用 kubectl 命令行工具与你的集群进行通信。如果您还没有一个集群,您可以通过 Minikube 创建一个集群,或者使用这些 Kubernetes playground :
To check the version, enter kubectl version
.
本练习中,您将从本地文件来创建包含有用户名和密码的 Secret。然后创建运行一个容器的 Pod,该 Pod 使用投射
卷将 Secret 挂载到相同的路径下。
下面是 Pod 的配置文件:
pods/storage/projected.yaml
|
---|
|
创建 Secrets:
<!--# Create files containing the username and password:--># 创建包含用户名和密码的文件:
echo -n "admin" > ./username.txt
echo -n "1f2d1e2e67df" > ./password.txt-->
<!--# Package these files into secrets:--># 将上述文件引用到 Secret:
kubectl create secret generic user --from-file=./username.txt
kubectl create secret generic pass --from-file=./password.txt
创建 Pod:
kubectl create -f https://k8s.io/examples/pods/storage/projected.yaml
确认 Pod 中的容器运行正常,然后监视 Pod 的变化:
kubectl get --watch pod test-projected-volume
<!--The output looks like this:-->输出结果和下面类似:
NAME READY STATUS RESTARTS AGE
test-projected-volume 1/1 Running 0 14s
在另外一个终端中,打开容器的 shell:
kubectl exec -it test-projected-volume -- /bin/sh
在 shell 中,确认 projected-volume
目录包含你的投射源:
ls /projected-volume/
此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.