天天看点

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

StorageClass:pvc申请pv是不针对pv针对存储类,尚未做成pv的存储空间做的分类

PV动态供给:存储集群向外提供restfull接口,当k8s需要申请pv时调用此接口,去存储集群里划分出指定的空间

                       之后在创建pv、pvc绑定

configMap

一:特殊类型的储存卷,目的不是给pod提供存储空间来用,而是给我们的管理员或者用户提供了从集群外部向pod内部的应用注入配置信息的方式

二:动态修改

三:两种注入方式实现

1、env   pod启动时可以把configMap资源关联到当前pod中来,读一个数据传递给pod内容器的一个变量,变量注入的方式给容器传递配置信息

2、把每一个configMap当做一个存储卷,挂载到容器里边的某个目录上,这个目录恰好是应用程序读取配置的文件目录

四:configMap明文存数据

secre:

            跟configMap一样只不过不是明文存数据,是用base64加密

配置容器化应用的方式:

   1、自定义命令行参数;

             agrs: []

    2、把配置文件直接嵌到镜像

    3、环境变量

              (1)Cloud Native的应用程序一般可直接通过环境变量加载配置

              (2)通过entrypoint脚本来预处理变量为配置文件中的配置信息

    4、存储卷(也可用configMap这种特殊的存储卷)

创建configMap

主要作用让配置文件从镜像中解耦,增强应用的可移植性以及应用的可服用性

第一种方式:kubectl create configmap nginx-config --from-literal=nginx_port=8080 --from-literal=server_name=myapp.haha.com

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

第二种方式:

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

创建pod通过env的方式引用configmap

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

执行

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

#printenv

即可查看变量

改cm

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

查询pod的环境变量并未改变,所以变量注入这种方式只在系统启动时有效,存储卷是可以实时更新的

通过挂载存储卷的方式引用configmap

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

验证

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

此时修改会同步

案例

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

secret

也是键值对,证书、私钥、密码都通过secret

有三种类型:

           1、generic 保存通用数据(mysql的密码)

           2、tls保存私钥和证书

           3、docker-registry保存docker认证信息(由kubelet认证访问私有厂库 )

手动创建secret

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

第一种获取方式:变量注入的方式

k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret
k8s系列(十一:实例)PV动态供给,configMap,secretsecre:创建pod通过env的方式引用configmap通过挂载存储卷的方式引用configmap案例secret

以环境变量注入的方式会以明文显示

第二种获取方式:挂载存储卷

k8s