kubernetes存储

Configmap配置管理

Configmap用于保存配置数据,以键值对形式存储;ConfigMap资源提供了向Pod注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性;典型的使用场景有:填充环境变量的值、设置容器内的命令行参数、填充卷的配置文件

创建ConfigMap的方式有4种:使用字面值创建、使用文件创建、使用目录创建、编写configmap的yaml文件创建

##使用字面值创建,键值对的方式

##使用文件创建,文件名为key,文件内容为值

##使用目录创建,文件名为key,文件内容为值

##使用yml文件创建

如何使用ConfigMap:通过环境变量的方式直接传递给pod、通过在pod的命令行下运行的方式、作为volume的方式挂载到pod内

##使用configmap设置环境变量

##直接传递configmap中的变量,不在yml文件中指定键值

##使用conigmap设置命令行参数

##kubectl describe pod pod4

##通过数据卷使用configmap

configmap的热更新

##创建nginxconf的configmap并将其挂载到nginx的默认include目录下

##此时只能通过nginxconf这个configmap中定义的端口访问

##编辑nginxconf这个configmap将其端口修改为8080

##此时虽然容器内的文件内容会更新(有一定延迟),但是更新的设定并没有生效;需要手动触发Pod滚动更新, 这样才能再次加载nginx.conf配置文件

##configmap热更新后,并不会触发相关Pod的滚动更新,需要手动触发;通过修改“version/config”来手动触发Pod滚动更新,更新后的pod也会获取到新的IP;此种方式下使用configmap挂载的env环境变量是不会更新的

##也可以在更改了configmap配置内容后通过删除控制下的pod以达到pod的热更新(此种更新方式延迟最低)

Secret配置管理

Secret对象类型用来保存敏感信息,例如密码、OAuth令牌和ssh key;敏感信息放在secret中比放在Pod的定义或者容器镜像中来说更加安全和灵活

Pod可以用两种方式使用secret:作为volume中的文件被挂载到pod中的一个或者多个容器里;当 kubelet为pod拉取镜像时使用

Secret的类型:

Service Account:Kubernetes自动创建包含访问API凭据的secret,并自动修改pod以使用此类型的secret

Opaque:使用base64编码存储信息,可以通过base64 --decode解码获得原始数据,因此安全性弱,Opaque类型的Secret其value为base64编码后的值

kubernetes.io/dockerconfigjson:用于存储docker registry的认证信息

##serviceaccout创建时Kubernetes会默认创建对应的secret,对应的secret会自动挂载到Pod的 /var/run/secrets/kubernetes.io/serviceaccount目录中

##每个namespace下有一个名为default的默认的ServiceAccount对象

##ServiceAccount里有一个名为Tokens的可以作为Volume一样被Mount到Pod里的Secret,当Pod启动时这个Secret会被自动Mount到Pod的指定目录下,用来协助完成Pod中的进程访问API Server时的身份鉴权过程

##从文件中创建secret

##从字面值创建secret,密码具有特殊字符时需要使用 \ 字符对其进行转义

##从yaml文件创建secret

##默认情况下kubectl describe secret为了安全不会显示密码的内容

##可以通过以上方式查看

##将secrect通过volume挂载到pod中

##向指定路径映射secret的键值

##将Secret设置为环境变量

##环境变量读取Secret很方便,但无法支撑Secret动态更新

##kubernetes.io/dockerconfigjson用于存储docker registry的认证信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值