kubernetes运维面试:什么是Projected Volume

这个问题的答案其实非常简单,而且Projected Volume是k8s从1.11版本就已经具备的一个功能,在此之前我们如果希望将 secret和configmap挂载到同一个目录下面,是无法完成的,因为目录挂载会发生覆盖,后挂载的目录会覆盖之前的内容。

kubernetes运维面试:什么是Projected Volume

Projected Volume可以将 secret、downwardAPI 以及 configMap 挂载到同一个目录。下面的Yaml是一个将 secret、downwardAPI 、configMap 挂载到一个目录“/projected-volume”的demo。

apiVersion: v1
kind: Pod
metadata:
  name: volume-test
spec:
  containers:
  - name: container-test
    image: nginx
    volumeMounts:
    - name: all-in-one
      mountPath: "/projected-volume"
      readOnly: true
  volumes:
  - name: all-in-one
    projected:
      sources:
      - secret:
          name: mysecret
      - downwardAPI:
          items:
            - path: "labels"
              fieldRef:
                fieldPath: metadata.labels
            - path: "cpu_limit"
              resourceFieldRef:
                containerName: container-test
                resource: limits.cpu
      - configMap:
          name: myconfigmap

进入容器后可以查看具体内容的

# kubectl  exec -it volume-test sh
# cd /projected-volume
# ls
config	cpu_limit  labels  username
# cat config
myconfig
# cat username
myusername
# exit

补充一下,我们需要提前创建上面的configmap和secret。

# echo "myconfig"> config
# echo "myusername"> username
# kubectl create secret generic mysecret  --from-file=username
# kubectl create configmap  myconfigmap  --from-file=config
展开阅读全文

页面更新:2024-04-26

标签:容器   答案   发生   版本   简单   功能   目录   内容   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top