kubernetes 的configMap和sercet配置信息
简介:
启动pod,pod启动时可以将configMap资源关联到当前pod上来,从中读一个数据c传递给pod内的容器的一个变量。任然是变量注入的方式来给容器传配置信息。
把每一个configMap当一个存储卷,直接挂在到容器的某个目录上,这个目录恰好是运行程序读取配置信息的文件路径。支持动态修改的,如果configMap配置信息改变了,通知所有pod中应用重载。是通过明文传数据的,安全性不高。
sercet与configMap的功能相似,但是传递数据是 通过base64编码机制。
配置容器化应用的方式: 1.通过自定义命令行参数来实现 args:[]
2.把配置文件直接写入镜像 (实现太单一,耦合度太紧密)
3.环境变量 (1) Cloud Native的应用程序一般可以直接通过环境变量加载配置
(2) 通过entrypoint脚本来预处理变量为配置文件中的配置信息
4.存储卷
5.configMap的核心作用让配置信息和镜像文件解耦,镜像可以做成骨架,配置信息可以通过configMap注入,使得一个镜像文件可以应付多个不同配置信息,为应 用程序运行不同配置的环境而工作。在configMap中所有数据都保存键值格式。
一、创建configMap
kubectl create configmap nginx-config --from-literal=nginx_port=9999 --from-literal=server_name=www.yiruiduan.com 通过命令行设置键值
查看configMap的描述

kubectl create configmap nginx-yiruiduan --from-file=./yiruiduan.conf 通过加载文件 文件名就是键,文件内容就是值
查看描述

在pod中应用有两种方式加载环境变量或者volume挂载:
1)通过env加载的方式,注入配置信息。只有在启动pod的时候生效
apiVersion: v1
kind: Pod
metadata:
name: pod-cm-
namespace: default
labels:
app: myapp
tier: frontend
annotations:
create_by: yiruiduan
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
ports:
- name: http
containerPort:
- name: https
containerPort:
env:
- name: NGINX_SERVER_PORT
valueFrom:
configMapKeyRef:
name: nginx-config
key: nginx_port
- name: NGINX_SERVER_NAME
valueFrom:
configMapKeyRef:
name: nginx-config
key: server_name
2)通过volume挂载的方式,动态配置信息
apiVersion: v1
kind: Pod
metadata:
name: pod-cm-
namespace: default
labels:
app: myapp
tier: frontend
annotations:
create_by: yiruiduan
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
ports:
- name: http
containerPort:
- name: https
containerPort:
volumeMounts:
- name: nginxconf
mountPath: /etc/nginx/conf.d/
readOnly: true
volumes:
- name: nginxconf
configMap:
name: nginx-yiruiduan
二、创建secret
kubectl create secret generic mysql-root-password --from-literal=password=yiruiduan 通过命令行的方式创建

使用的范式和configMap的使用方式一样可以通过env注入,也可以通过volume挂载方式。它将数据通过base64的编码。不易被人看懂
kubernetes 的configMap和sercet配置信息的更多相关文章
- k8s通过configmap管理应用配置信息
Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap. ConfigMap 的创建和使用方式与 Secret 非常类 ...
- 012.Kubernetes的configmap和secret配置
使用configmap对多有的配置文件进行统一管理 一 configmap配置管理 1.1 检查mysql的配置 [root@docker-server1 storage]# kubectl get ...
- Springboot整合Spring Cloud Kubernetes读取ConfigMap,支持自动刷新配置
1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Docker & Kubernetes相关文章:容器技术 之前介绍了Spring Cloud Config的用法,但 ...
- k8s实战为aspnetcore.webapi微服务注入配置信息 - kubernetes
1.浅析k8s配置信息 Secret 以密文的形式存储数据,可以用来保存一些敏感信息,例如:OAuth tokens.私钥.密码.数据库连接.事件总线连接等. ConfigMap 以明文的形式存储数据 ...
- 35 【kubernetes】configMap
kubernetes可以驱动容器的运行,并且把容器的运行放置在kubernetes定义的体系结构中pods这一级. 但是容器运行通常会需要某些参数,比如环境变量或者硬件使用情况. 为了解决对每个con ...
- Kubernetes的ConfigMap解析
ConfigMap功能在Kubernetes1.2版本的时候就有了,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.这些配置信息需要与docker image解耦,你总不能每修改一个配置 ...
- 如何使用Kubernetes的configmap通过环境变量注入到pod里
在Kubernetes官网里,有这样一篇文章,提到了Kubernetes里的一个最佳实践就是把应用代码同配置信息分开,一种方式就是使用Kubernetes 1.2里引入的configmap概念. ht ...
- K8S学习笔记之Kubernetes 配置管理 ConfigMap
0x00 概述 很多情况下我们为某一应用做好镜像,当我们想修改其中的一些参数的时候,就变得比较麻烦,又要重新制作镜像,我们是不是有一种方式,让镜像根据不同的场景调用我们不同的配置文件呢,那我们就需要用 ...
- Kubernetes 配置管理 ConfigMap(十二)
目录 一.背景 二.创建 ConfigMap 2.1.通过 --from-literal 2.2.通过 --from-file 2.3.通过--from-env-file 2.4.YAML 配置文件 ...
随机推荐
- java怎么解除文件占用(Dom4j操作完xml后怎么关流)
一.背景 项目中要解析xml,由于Dom4j的诸多优点,我就用Dom4j解析xml,代码如下: public void readXML() { SAXReader reader = new SAXRe ...
- python numpy array 的sum用法
如图: sum可以指定在那个轴进行求和: 且第0轴是纵向,第一轴是横向:
- idea内存溢出解决方法
在Run/Debug configuration 的vm options里面输入 -server -XX:PermSize=128M -XX:MaxPermSize=256m eclipse: -Xm ...
- CSS 定位 四种定位
absolute 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位.元素的位置通过“left”,“top”,“right”以及“bottom”属性进行定位. fixed 生成固定 ...
- django 权限控制精简版
视图代码: 视图代码 def index(request): return render(request,'index.html') def login(request): if request.me ...
- 转 Git使用教程,最详细,最傻瓜,最浅显,真正手把手教
预警:因为详细,所以行文有些长,新手边看边操作效果出乎你的预料) 这个也不错 https://www.cnblogs.com/qcloud1001/p/9796750.html 一:Git是什么?Gi ...
- 使用postman修改SAP Marketing Cloud contact主数据
Marketing Cloud里的contact主数据,创建成功后也不是所有字段都能够被修改.在Personal data区域的字段是可以被修改的. 比如我在"客户属性"字段里维护 ...
- jQuery EasyUI 数据网格
jQuery EasyUI 数据网格 - 转换 HTML 表格为数据网格 本节将介绍jQuery EasyUI数据网格的运用,主要内容为如何将HTML表格转换为数据网格. 本实例演示如何转换表格(ta ...
- 第一章、VUE-挂载点-实例成员-数据-过滤器-文本指令-事件指令-属性指令-表单指令-01
目录 路飞项目 vue vue 导读 vue 的优势 渐进式框架 引入 vue 实例成员 - 挂载点 el js 对象(字典)补充 实例成员 - 数据 data 实例成员 - 过滤器 filters ...
- git提交失败总结
在用Git管理代码版本时,用git push命令提交代码,提示: [错误1] 错误原因:后来发现是提交大文件导致http postbuffer溢出,将postbuffer改大就可以了 解决办法:git ...