一种特殊的Volume: Projected Volume ,你可以把它翻译为“投射数据卷”。
Ps:Projected Volume 是 Kubernetes v1.11 之后的新特性
在 Kubernetes 中,有几种特殊的 Volume,它们存在的意义不是为了存放容器里的数据,也不是用来进行容器和宿主机之间的数据交换。这些特殊 Volume 的作用,是为容器提供预先定义好的数据。所以,从容器的角度来看,这些 Volume 里的信息就是仿佛是被 Kubernetes“投射”(Project)进入容器当中的。这正是 Projected Volume 的含义。
到目前为止,Kubernetes 支持的 Projected Volume 一共有四种:
1.Secret(存放数据库的 Credential 信息)
2.ConfigMap(ConfigMap 保存的是不需要加密的,应用所需的配置信息)
3.Downward API(让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息)
4.Server Account(定义授权信息,特殊的Secret)
Secret 最典型的使用场景,莫过于存放数据库的 Credential 信息。
# secret-host.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-test
spec:
containers:
- name: nginx-secret
image: busybox
args:
- sleep
- "86400"