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不用也 ...
随机推荐
- laravel的model
1.创建模型 $ php artisan make:model Models/Issue 2.模型的白名单机制,用于赋值 class Issue extends Model { //指定表名 pr ...
- 关于FileChannel的获取方式之open方法详解
FileChannel.open(Path path, OpenOption... options); 例子使用JDK1.8 FileChannel open方法源码: public static F ...
- 如何在Linux下安装Tomcat
上篇文章写到了Linux下安装JDK1.8,这篇文章详细阐述一下 如何在Linux下安装Tomcat!!!有啥问题可以留言,博主每天都会看博客的. 准备步骤和方法和以前一样,博主用的工具是XShell ...
- jenkins打包maven工程发现有些包下载不下来
将这些依赖的jar包放到mvn的本地仓库中,通常是用户主目录下的.m2/repository https://blog.csdn.net/taiyangdao/article/details/5228 ...
- python-进程、线程与协程
基础概念 进程 是一个执行中的程序,即将程序装载到内存中,系统为它分配资源的这一过程.进程是操作系统资源分配的基本单位. 每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text regio ...
- 解决ios横屏拍照图片自动旋转90度问题
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Iconfont 阿里图库使用(小程序和H5)
前言 现在前端发展的太快,前端优化也是,图片也是被近2年来比较火的就是阿里图库取代了,不管小程序还是H5 都在用 好了,那么就介绍下如何使用吧 阿里图库 当然需要你到阿里官网 http://www.i ...
- 原生ajax 请求
什么是ajax AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新. 这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新, ...
- 百分号编码(URL编码)
百分号编码又叫做URL编码,是一种编码机制,只要用于URI(包含URL和URN)编码中. URL中那些字符需要编码,又为什么进行编码 一.URL是什么? URL(Uniform Resource L ...
- 9. ClustrixDB主从复制
一.在线添加从库 主集群: 10.1.1.23:5306 从集群: 10.1.3.88:5306 主库开启binlog MySQL [(none)]> CREATE BINLOG 'clustr ...