5.1.k8s.ConfigMap
ConfigMap
ConfigMap用于保存配置数据的键值对,可用来保存单个属性,或配置文件
#ConfigMap创建
使用yaml文件创建ConfigMap
#cm-demo.yaml
kind: ConfigMap
apiVersion: v1
metadata:
name: cm-demo
namespace: default
data:
data.1: hello
data.2: world
config: |
property.1=value-1
property.2=value-2
#创建
kubectl create -f cm-demo.yaml.yaml
#查看
kubectl get cm cm-demo -o yaml
从文件、目录创建ConfigMap
#创建目录和文件
mkdir testcm
echo -e "host=127.0.0.1\nport=3306" >testcm/mysql.conf
echo -e "host=127.0.0.1\nport=6379" >testcm/redis.conf
ls -l testcm
cat testcm/mysql.conf
cat testcm/redis.conf
#使用from-file 从目录testcm 创建ConfigMap 名称为cm-demo1
kubectl create configmap cm-demo1 --from-file=testcm
#查看cm
#kubectl get configmap
kubectl get cm
#查看详情
kubectl describe configmap cm-demo1
kubectl get configmap cm-demo1 -o yaml
key-value字符串创建ConfigMap
#通过--from-literal参数,从字符串创建ConfigMap
kubectl create configmap cm-demo2 \
--from-literal=db.host=localhost --from-literal=db.port=3306
#查看
kubectl get configmap cm-demo2 -o yaml
kubectl get cm
kubectl delete cm cm-demo3
#ConfigMap使用
ConfigMap在Pod使用方式: 环境变量、命令行参数、数据卷Volume
ConfigMap 挂载的 Env 不会同步更新
env方式挂载 (环境变量、命令行参数使用)
# cm1-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: cm1-pod
spec:
containers:
- name: cm1
image: busybox:uclibc
command: [ "/bin/sh", "-c", "env" ]
#command: [ "/bin/sh", "-c", "echo $(DB_HOST) $(DB_PORT)" ] #命令行参数
env:
- name: DB_HOST
valueFrom:
configMapKeyRef:
name: cm-demo2
key: db.host
- name: DB_PORT
valueFrom:
configMapKeyRef:
name: cm-demo2
key: db.port
envFrom:
- configMapRef:
name: cm-demo1
restartPolicy: Never
#创建
kubectl create -f cm1-pod.yaml
#查看
kubectl logs cm1-pod
Volume方式挂载
#cm2-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: cm2-pod
spec:
containers:
- name: cm2
image: busybox:uclibc
command: [ "/bin/sh", "-c", "cat /test/redis.conf" ]
volumeMounts:
- name: config-volume
mountPath: /test
volumes:
- name: config-volume
configMap:
name: cm-demo1
restartPolicy: Never
#创建
kubectl create -f cm2-pod.yaml
#查看
kubectl logs cm2-pod
清理demo
kubectl delete -f cm1-pod.yaml
kubectl delete -f cm2-pod.yaml
kubectl delete cm cm-demo
kubectl delete cm cm-demo1
kubectl delete cm cm-demo2
参考https://www.qikqiak.com/k8s-book/docs/28.ConfigMap.html
Blog地址 https://www.cnblogs.com/elvi/p/11755789.html
本文git地址 https://gitee.com/almi/k8s/tree/master/notes
5.1.k8s.ConfigMap的更多相关文章
- K8S ConfigMap使用
k8s系列文章: 什么是K8S configmap是k8s的一个配置管理组件,可以将配置以key-value的形式传递,通常用来保存不需要加密的配置信息,加密信息则需用到Secret,主要用来应对以下 ...
- .NET Core 使用 K8S ConfigMap的正确姿势
背景 ASP.NET Core默认的配置文件定义在appsetings.json和appsettings.{Environment}.json文件中. 这里面有一个问题就是,在使用容器部署时,每次修改 ...
- K8s configMap原理介绍
给容器内应用程序传递参数的实现方式: 1. 将配置文件直接打包到镜像中,但这种方式不推荐使用,因为修改配置不够灵活. 2. 通过定义Pod清单时,指定自定义命令行参数,即设定 args:[" ...
- k8s configmap 挂载配置文件
转自https://blog.csdn.net/weixin_34102807/article/details/85965725 1.新建ConfigMap apiVersion: v1 kind: ...
- 深入探究 K8S ConfigMap 和 Secret
ConfigMap 1.什么是 ConfigMap? ConfigMap 是用来存储配置文件的 Kubernetes 资源对象,配置对象存储在 Etcd 中,配置的形式可以是完整的配置文件.key/v ...
- ASP.NET Core on K8S深入学习(9)Secret & Configmap
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.Secret 1.1 关于Secret 在应用启动过程中需要一些敏感信息, ...
- 虚拟化原理到K8s实践经验路线总结
以下这些内容均为自行学习总结的内容,很多内容没有写概括介绍,看起来可能会有些突兀,但并不影响整体性,我自己的学习经验告诉我,这些内容还仅仅是最精简的核心部分,周边还有很多可扩展内容,主要是操作系统生态 ...
- K8S conul部署
官网有Helm方式的安装文档(https://www.consul.io/docs/platform/k8s/index.html) 一,准备工作: 1,k8s环境 2,nfs服务器 二,创建PV n ...
- configmap使用-完整的configmap文档
转发 https://www.jianshu.com/p/cf3e2218f283 转发 https://www.kubernetes.org.cn/3138.html 注意:configmap不用也 ...
随机推荐
- zabbix布置mysql主从监控
一.下载安装zabbix服务器端 网址:https://www.cnblogs.com/carriezhangyan/p/10818513.html 二.下载安装zabbix客户端,客户端上要有mys ...
- FMCJ450-基于ADRV9009的射频收发模块
FMCJ450-基于ADRV9009的射频收发模块 一.板卡概述 接收路径包括两个具有动态范围的独立式宽带宽直接转换接收器.该器件还支持宽带宽分时观察路径接收器,供在 TDD 应用中使用.完整的接收子 ...
- python selenium 相关操作
selenium : 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Fi ...
- vue-项目模块化中this 指向问题
在VUE项目中,我们想把一些主要的代码抽到一个模块中 export default { /** * 获取本地的群列表数据 * @param {*} params */ getGroupList () ...
- 用java imageio调整图片DPI,例如从96调整为300
因项目需求把图片的DPI值提升到300,否则OCR识别产生错乱:直接上源码:1.图片处理接口: package util.image.dpi; import java.awt.image.Buffer ...
- MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main re
出现这个问题是因为工程是应用win32,必须要有main函数,修改方式为: configuration properties中General->configuration Type->将a ...
- 那些10w+的公众号都在写什么?
出于好奇,那些10w+的公众号都写了些什么,于是我写了几个脚本爬取了各行业Top的公众号文章,进行了关键词统计. 抓取数据.分析用到了3中语言:Node.js,Java,Python.废话不多说,直接 ...
- python爬虫系列之数据的存储(二):csv库的使用
上一篇我们讲了怎么用 json格式保存数据,这一篇我们来看看如何用 csv模块进行数据读写. 一.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因 ...
- jodd cache实现缓存超时
public class JoddCache { private static final int CACHE_SIZE = 2; private final static Cache<Obje ...
- Selenium 定位一组元素
到目前为止,我们已经知道了怎么去定位一个元素,有时候我们需要获取页面上的多个元素,该怎么办呢?难道还一个一个地去定位,那也太lower了吧. webdriver提供了定位一组元素的方法,跟前面讲的那八 ...