k8s--configMap、secret


在k8s中向应用传递配置数据可以通过环境变量、configmap、secret等方式。
configmap和secret都是k8s中的资源,用于将pod的配置分离,便于处理和信息的保密

configMap是什么

configMap是K8s中用于数据持久化和共享的资源,常用于将其挂载到pod中的容器。configmap是k8s中用于将配置资源映射到pod容器中的一种资源。可以在pod中的容器运行时根据configmap卷中的配置自动更新容器的配置
configMap的本质就是一个键/值对的映射。键名必须是合法的DNS字段,由数字、字母、破折号、下划线以及圆点构成,值可以是短字面量,也可以是完整的配置文件

创建configMap

ConfigMap一般包含多个映射条目。其映射条目可以是短字面量,也可以是文件和文件夹。
使用–from-literal添加字面量,–from-file添加文件或者是文件夹
现在该目录下由如下文件:
在这里插入图片描述

#创建一个名为testconfig的configmap资源:
kubectl create configmap testconfig --from-file=pod-nginx.yaml --from-file=zuoye/ --from-file=myzuoye=zuoye.txt --from-literal=user=hxy
#查看testconfig资源
kubectl get configmap testconfig -o yaml

可以看到资源内容如下:
在这里插入图片描述
其中的myzuoye是自定义的键名,如果不指定键名,则会使用值的名字作为键名

在使用时需要注意:
1.pod在创建时,若有一个容器使用的configmap不存在则该容器会创建失败,其余的容器成功创建,当使用的configmap创建之后,失败的容器则会自动启动可通过设置configMapKeyRef.optional:true字段避免该情况
2.若configmap中环境变量条目的键名不合法,则在创建环境变量时不会将其作为环境变量去创建,会自动忽略错误键名的条目
3.如果挂载整个卷,则挂载点下的所有文件都会被隐藏,若不想文件被隐藏,则可以通过设置subpath子段,将卷中的某个文件或者某个文件夹挂载到挂载点,并且不会隐藏原来的文件
4.configmap卷中所有文件的默认权限是644,可以在yaml文件中定义defaultMode字段去修改文件的默认权限
5.若挂载部分configmap卷,则在更新confgimap条目之后,不会自动更新挂载点下对应的文件,因为在configma更新之后,k8s会创建一个…data文件,并且将…data文件链接到新的configmap对应的文件夹,从而实现自动更新

secret

secret是K8s中用来传递敏感信息的一种资源,其使用方式与configmap相似。secret条目的内容是采用Base64编码方式,而ConfigMap是以纯文本展示
1.secret只会存储在节点的内存中,不会写入物理内存,所以不会被窃取,因此secret适合用来存储敏感性的信息
2.secret的大小限于1MB

暴露secret资源的方式有两种,一种是将secret条目作为环境变量传递给容器,另一种是将secret条目暴露为卷中的文件,但是往往不建议使用第一种方式,原因有2个,第一个是应用程序在错误报告时会转储环境变量,或者是在启动时会打印在应用日志中,因此会无意中暴露secret的信息;另一个原因是子进程会继承父进程的所有环境变量,因此环境变量就显得不太安全。

向容器传递命令行参数

自制镜像,Dockerfile内容如下:

FROM centos:7
ENTRYPOINT ["echo"]
CMD ["hello"]

制作镜像并运行容器:

docker build -t test .

在这里插入图片描述
这里运行了两个容器,第一个容器没有传递参数,则使用默认的参数,第二个容器传递了参数,则会使用传递的参数覆盖默认的参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值