Kubernetes configMap(配置文件存储)

官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

与Secret类似,区别在于ConfigMap保存的是不需要加密配置信息。
应用场景:应用配置

创建测试配置文件

1、创建测试配置文件
vim redis.properties

redis.host=127.0.0.1
redis.port=6379
redis.password=123456

2、通过命令创建引用配置文件

kubectl create configmap redis-config --from-file=./redis.properties

3、查看创建的配置文件
kubectl get cm

NAME DATA AGE
redis-config 1 8s

4、查看详细信息
kubectl describe cm redis-config

Name: redis-config
Namespace: default
Labels: <none>
Annotations: <none> Data
====
redis.properties:
----
redis.host=127.0.0.1
redis.port=6379
redis.password=123456 Events: <none>

通过volume导入方式

1、创建yaml文件
vim cm.yaml

apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: busybox
image: busybox
command: [ "/bin/sh","-c","cat /etc/config/redis.properties" ]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
# 指定保存的配置文件
configMap:
# 配置文件名称
name: redis-config
restartPolicy: Never

2、创建容器

kubectl create -f cm.yaml 

3、查看结果
kubectl logs mypod

redis.host=127.0.0.1
redis.port=6379
redis.password=123456

通过变量名方式

1、创建yaml文件
vim myconfig.yaml

apiVersion: v1
kind: ConfigMap
metadata:
# 指定命名空间
name: myconfig
namespace: default
# 指定level type
data:
# 指定变量 value则是配置文件的配置
special.level: info
special.type: hello

2、创建容器

kubectl create -f myconfig.yaml

3、查看创建
kubectl get cm

NAME DATA AGE
myconfig 2 23s
redis-config 1 11m

4、创建pod yaml
vim config-var.yaml

apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: busybox
image: busybox
command: [ "/bin/sh", "-c", "echo $(LEVEL) $(TYPE)" ]
env:
- name: LEVEL
valueFrom:
# 通过key加载配置文件
configMapKeyRef:
# 使用的key
name: myconfig
key: special.level
- name: TYPE
valueFrom:
configMapKeyRef:
# 使用的type
name: myconfig
key: special.type
restartPolicy: Never

5、查看验证
kubectl logs mypod

info hello

Kubernetes configMap(配置文件存储)的更多相关文章

  1. Kubernetes K8S之存储ConfigMap详解

    K8S之存储ConfigMap概述与说明,并详解常用ConfigMap示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS ...

  2. kubernetes Configmap secret的使用

    kubernetes configmap 核心作用是让配置信息和镜像解耦,pod可以使用configmap的数据生成配置文件.如果后端的pod配置文件要改变时,只需要更改下configmap里面的数据 ...

  3. Kubernetes中的存储(六)

    一.ConfigMap 1,介绍 ConfigMap 功能在 Kuberbetes 1.2 版本中引入,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.ConfigMap API 给我们 ...

  4. Kubernetes K8S之存储Volume详解

    K8S之存储Volume概述与说明,并详解常用Volume示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...

  5. Kubernetes之持久化存储

    转载自 https://blog.csdn.net/dkfajsldfsdfsd/article/details/81319735 ConfigMap.Secret.emptyDir.hostPath ...

  6. Ocelot简易教程(六)之重写配置文件存储方式并优化响应数据

    本来这篇文章在昨天晚上就能发布的,悲剧的是写了两三千字的文章居然没保存,结果我懵逼了.今天重新来写这篇文章.今天我们就一起来探讨下如何重写Ocelot配置文件的存储方式以及获取方式. 作者:依乐祝 原 ...

  7. Docker Swarm 配置文件存储

    Docker Swarm 配置文件存储 config:宿主级容器服务配置文件单独保存到docker中存储调用. 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理 ...

  8. [转载]Ocelot简易教程(六)之重写配置文件存储方式并优化响应数据

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9807125.html 很多人都说配置文件的配置很繁琐,如果存储在数据库就方便很多,可以通过自定义UI界面 ...

  9. Kubernetes 学习(十)Kubernetes 容器持久化存储

    0. 前言 最近在学习张磊老师的 深入剖析Kubernetes 系列课程,最近学到了 Kubernetes 容器持久化存储部分 现对这一部分的相关学习和体会做一下整理,内容参考 深入剖析Kuberne ...

随机推荐

  1. Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失问题分析

    最近spring boot项目中由于使用了spring cloud 的hystrix 导致了threadLocal中数据丢失,其实具体也没有使用hystrix,但是显示的把他打开了,导致了此问题. 导 ...

  2. C# redis StackExchange

    1.Install-Package StackExchange -v 2.0.601 2.using StackExchange.Redis; 3. static void StackExchange ...

  3. SQL SERVER 数据库授权指定用户

    在查询分析器下运行以下语句即可: GO USE [master] GO ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [用户名] GO

  4. 运行时报:尝试加载 Oracle 客户端库时引发 BadImageFormatException,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题

    运行环境为: Windows Server2012 Oracle11g  32位数据库+客户端 IIS发布后提示错误信息: “尝试加载 Oracle 客户端库时引发 BadImageFormatExc ...

  5. Ganglia+Nagios监控系统

    第1章 简介 ganglia是一款为HPC(高性能计算) 集群设计的可扩展性 的分布式监控系统,它可以监视和显示集群中节点的各种状态信息,他由运行在各个节点上的gmond守护进程来采集 CPU.内存. ...

  6. webpack管理资源(loader操作)

    1.加载css npm install --save-dev style-loader css-loader webpack.config.js文件中: const path = require('p ...

  7. 交互式shell脚本web console

    官网:http://web-console.org/ 这个脚本可以实现web下交互,也就是有了这玩意后可以不用反弹shell了. <?php // Web Console v0.9.7 (201 ...

  8. QTextStream 读取文件乱码的解决办法

    通常都是编码转换的问题,注意如以下红字代码那样设置正确的编码 QFile _file(_f_path);    try{        if(_file.open(QIODevice::ReadOnl ...

  9. 74HC238引脚定义 使用方法

    三八译码器 用作IO扩展与复用 用3个IO,可以控制8个输出 引脚定义 A0~A2:3个输入 E1.E2:拉低使能,可以接地 E3:拉高使能,可以接VCC Y0~Y7:8个输出 真值表 如果想输出8个 ...

  10. MySQL基础之表的管理

    添加和删除字段操作 添加字段 alter table tbl_name add 字段名称 字段属性 [完整性约束条件] [first|after 字段名称之后]; 删除字段 alter table t ...