Projected Volume 的secret 与configmap
Projected Volume 的secret 与configmap
在 Kubernetes 中,有几种特殊的 Volume,它们存在的意义不是为了存放容器里的数据,也不是用来进行容器和宿主机之间的数据交换,是为容器提供预先定义好的数据;
kubernetes 支持的 Projected Volume 一共有四种:
secret:
Secret 对象用来存储敏感数据,如 Pod 用于访问服务的凭据。例如,为访问数据库,你可能需要一个 Secret 来存储所需的用户名及密码。
你可以通过在命令中传递原始数据,或将凭据存储文件中,然后再在命令行中创建 Secret。以下命令 将创建一个存储用户名 admin 和密码 S!B\*d$zDsb= 的 Secret。
如:
projectvolume1.yml
apiVersion: v1
kind: Pod
metadata:
  name: projectvolume1
  namespace: default
spec:
  containers:
    - name: project-volume
      image: busybox
      args:
        - sleep
        - '36000'
      volumeMounts:
        - name: all-in-one
          mountPath: /data
          readOnly: true
  volumes:
    - name: all-in-one
      projected:
        sources:
          - secret:
              name: user
          - secret:
              name: password
2、创建secret:
 
4、创建POD,并查看内容是否挂载到了POD 中;
kubectl apply -f projectvolume1.yml

ConfigMap:
ConfigMap是一种API对象,用来将非加密数据保存到键值对中。可以用作环境变量、命令行参数或者存储卷中的配置文件;
ConfigMap可以将环境变量配置信息和容器镜像解耦,便于应用配置的修改;
1、创建configmap:
kubectl create configmap configmap --from-literal=name=zhangsan --from-literal=age=36
2、查看conffigmap 信息:

3、在数据卷中使用ConfigMap;
apiVersion: v1
kind: Pod
metadata:
  name: project-configmap
  namespace: default
spec:
  containers:
    - name: projectconfigmap
      image: busybox
      command:
        - sleep
        - '36000'
      volumeMounts:
        - name: configmapv
          mountPath: /data
  volumes:
    - name: configmapv
      projected:
        sources:
          - configMap:
              name: configmap
4、POD中查看configmap 内容:

Downward API:
ServiceAccountToken
  Service Account 对象的作用,就是 Kubernetes 系统内置的一种“服务账户”,它是 Kubernetes 进行权限分配的对象。像这样的 Service Account 的授权信息和文件,实际上保存在它所绑定的一个特殊的 Secret 对象里的特殊Secret 对象,就叫作 ServiceAccountToken;
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号