k8s配置集ConfigMap详解
ConfigMap介绍
ConfigMap和Secret是Kubernetes系统上两种特殊类型的存储卷,ConfigMap对象用于为容器中的应用提供配置文件等信息。但是比较敏感的数据,例如密钥、证书等由Secret对象来进行配置。它们将相应的配置信息保存于对象中,而后在Pod资源上以存储卷的形式挂载并获取相关的配置,以实现配置与镜像文件的解耦。
下面主要介绍使用Volume将ConfigMap作为文件或目录挂载
1.首先在容器外面创建一个redis.conf的配置文件,然后根据这个配置文件创建出一个名为redis.conf的ConfigMap

2.通过kubectl get cm redis.conf -o yaml可以将刚才创建的ConfigMap以yaml格式输出

3.剔除一些创建时间等元数据,精简过后的ConfigMap的yaml文件的内容如下所示
apiVersion: v1
data: #data里面是配置文件的名字以及相应的配置,以key:value的格式来书写。
redis.conf: | #key:redis.conf (默认是你创建ConfigMap时--from-file=redis.conf那哪个配置文件就叫什么名字)
appendonly yes #value:配置文件的内容
kind: ConfigMap
metadata:
name: redis-conf
namespace: default
注:data里可以包含多个配置文件的数据,所以data里面是通过key:value的形式来表示对应的配置文件的名字及内容的
创建完ConfigMap后通过创建一个pod来具体讲述一下ConfigMap是如何使用的
apiVersion: v1
kind: Pod
metadata:
name: redis
spec:
containers:
- name: redis
image: redis
command: #创建容器后在容器里面执行的命令
- redis-server
- "/redis-master/redis.conf" #指的是redis容器内部的位置
ports:
- containerPort: 6379
volumeMounts:
- mountPath: /data #指的是容器内部的/data目录
name: data #卷挂载的名字,与下面相同名字的volumes进行匹配并挂载
- mountPath: /redis-master
name: config
volumes:
- name: data
emptyDir: {}
- name: config #将volumeMounts需要进行挂载且name为config的目录以配置集的方式进行挂载
configMap:
name: redis-conf #这是配置集的名称,k8s会根据这个名字来寻找对应的ConfigMap
items:
- key: redis.conf #这是ConfigMap当中data里面的key值,也就是要挂载的配置文件的名字,k8s要根据这个key值从名为redis.conf的ConfigMap中找到需要挂载的配置文件的真正内容。
path: redis.conf #这是最终容器当中配置文件的名字,也就是容器中配置文件路径为/redis-master/redis.conf
用图片描述对应关系就是如下所示:

4.另外还可通过kubectl edit来编辑ConfigMap从而直接修改容器内部的配置文件的内容:

k8s配置集ConfigMap详解的更多相关文章
- Kubernetes K8S之存储ConfigMap详解
K8S之存储ConfigMap概述与说明,并详解常用ConfigMap示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS ...
- Windows2003配置集群详解
原文: http://blog.csdn.net/xunyn/article/details/7388900 集群是在一组计算机上运行相同的软件并虚拟成一台主机系统为客户端与应用提供服务:计算机通过缆 ...
- Kubernetes K8S之存储Volume详解
K8S之存储Volume概述与说明,并详解常用Volume示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...
- k8s之yaml文件详解
k8s之yaml文件详解 目录 k8s之yaml文件详解 1. k8s支持的文件格式 2. YAML语言格式 3. 查看api资源版本标签 4. 编写nginx-test.yaml资源配置清单 4.1 ...
- Linux中redis安装配置及使用详解
Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
- Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解
http://hi.baidu.com/ltb6w/item/3a51f11926fda60ce75c361d Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解 ...
- webpack安装配置使用教程详解
webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...
随机推荐
- 按照 Promise/A+ 规范逐行注释并实现 Promise
0. 前言 面试官:「你写个 Promise 吧.」 我:「对不起,打扰了,再见!」 现在前端越来越卷,不会手写 Promise 都不好意思面试了(手动狗头.jpg).虽然没多少人会在业务中用自己实现 ...
- RabbitMQ 3.9( 基础 )
1.认识MQ 1.1.什么是MQ? MQ全称:message queue 即 消息队列 这个队列遵循的原则:FIFO 即 先进先出 队列里面存的就是message 1.2.为什么要用MQ? 1.2.1 ...
- CentOS 8及以上版本配置IP的方法,你 get 了吗
接上篇文章讲了 Ubuntu 18及以上版本的配置方法,本文再来讲讲 CentOS 8 及以上版本配置 IP 的方法. Centos/Redhat(8.x) 配置 IP 方法 说明:CentOS 8 ...
- PHP代码审计之命令注入攻击
PHP漏洞-命令注入攻击 命令注入攻击 PHP中可以使用下列5个函数来执行外部的应用程序或函数 system.exec.passthru.shell_exec.``(与shell_exec功能相同) ...
- Volatile的学习
首先先介绍三个性质 可见性 可见性代表主内存中变量更新,线程中可以及时获得最新的值. 下面例子证明了线程中可见性的问题 由于发现多次执行都要到主内存中取变量,所以会将变量缓存到线程的工作内存,这样当其 ...
- 出现bash: ifconfig:command not found的解决办法,即安装ifconfig命令(亲测有效)
初装centos 7时,运行config报 command not found 错误, ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS ...
- 命令行参数 getopt模块
getopt中的函数: getopt.getopt(sys.argv[1:], shortopts, longopts=[]) args指的是当前脚本接收的参数,它是一个列表,可以通过sys.argv ...
- 以圆类 Circle 为基础设计球类 Sphere
学习内容:实验二以圆类 Circle 为基础设计球类 Sphere 代码示例: import java.util.Scanner; class Point{ private double x; pri ...
- 爷青回,canal 1.1.6来了,几个重要特性和bug修复
刚刚在群里看到消息说,时隔一年,canal 1.1.6正式release了,赶紧上去看看有什么新特性. (居然才发布了6个小时,前排围观) 1.什么是canal canal [kə'næl],译意为水 ...
- 解读ICDE'22论文:基于鲁棒和可解释自编码器的无监督时间序列离群点检测算法
摘要:本文提出了两个用于无监督的具备可解释性和鲁棒性时间序列离群点检测的自动编码器框架. 本文分享自华为云社区<解读ICDE'22论文:基于鲁棒和可解释自编码器的无监督时间序列离群点检测算法&g ...