kubernetes&&基础学习4
存储
存储类型分类
configMap
主要应用在存储配置文件
ConfigMap功能在Kubernetes1.2版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API给我们提供了向容器中注入配置信息的机制,ConfigMap可以被用来保存单个属性,也可以用来保存整个配置文件或JSON二进制对象
ConfigMap的创建
使用目录创建
# 查询全部的ConfigMap信息
kubectl get cm
# 查询某个具体的ConfigMap信息
kubectl get cm game-config -o yaml
kubectl describ cm game-config
使用文件创建:
使用字面创建:
Pod中使用ConfigMap
使用ConfigMap来替代环境变量
用ConfigMap设置命令行参数
通过数据卷插件使用ConfigMap
ConfigMap的热更新
Secret
主要应用在密钥、用户名、密码的信息加密,是一种基于Base64位的加密方案
Secret解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或Pod.Spec中
Secret可以通过Volume或环境变量的方式使用
Secret有三种类型
- Service Account : 用来访问kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的/run/secrets/kubernetes.io/serviceaccount目录中
- Opaque : base64编码格式的Secret,用来存储密码、密钥等
- kubernetes.io/dockerconfigjson : 用来存储私有docker registry的认证信息
Service Account
Service Account 用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的/run/secerts/kubernetes.io/serviceaccount目录中
Opaque Secret
将secret导出到环境变量中:
kubernetes.io/dockerconfigjson
volume
主要应用在为Pod提供共享存储卷,如nfs、本地磁盘的某个目录、
创建空的目录卷并与pause容器绑定
Persistent Volume
主要指通过服务实现持久卷的构建
持久化卷声明的保护
持久化卷类型
PV访问模式
持久化演示说明-NFS
安装NFS服务器:
部署PV
创建服务并使用PVC
关于StatefulSet