7、configMap

2024-04-13 05:44
文章标签 configmap

本文主要是介绍7、configMap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、configMap是什么

类似与pod的配置中心,不会因为pod的创建销毁,相关配置发生改变
pod定义硬编码意味着需要有效区分⽣产环境与开发过程中的pod
定义。为了能在多个环境下复⽤pod的定义,需要将配置从pod定义描
述中解耦出来。

2、向容器中添加配置参数

2.1 向容器传递命令⾏参数

2.2 为每个容器设置⾃定义环境变量

kubectl exec -it pod_name shell

2.3 通过特殊类型的卷将配置⽂件挂载到容器中

持久卷类型使用gitrepo,提供版本控制

2.4 pod配置参数

3、 pod中配置环境环境变量

环境变量的值是固定的。可以采⽤$(VAR)语
法在环境变量值中引⽤其他的环境变量。假设定义了两个环境变量,
第⼆个变量定义中可包含第⼀个环境变量的值SECOND_VAR的值是"foobar"。

4、创建configMap

4.1 configMap的作用

将配置存放在独⽴的资源
对象中有助于在不同环境(开发、测试、质量保障和⽣产等)下拥有
多份同名配置清单。pod是通过名称引⽤ConfigMap的,因此可以在多
环境下使⽤相同的pod定义描述,同时保持不同的配置值以适应不同环
境

4.2 configMap的创建方式

kubectl create configmap <config_name> --key=value --key=value

# yaml方式查看
kubectl get configmap <configmap_name> -o yaml

# 运行yaml
kubectl create -f <config_yaml>

5、给容器传递ConfigMap条⽬作为环境变量

5.1 valueFrom

容器从configmap中获取环境变量

5.2 配置前缀,把所有的环境变量提供给容器

可以为所有的环境变量设置前缀,如本例中的
CONFIG_ , 容 器 中 两 个 环 境 变 量 的 名 称 为 : CONFIG_FOO 与
CONFIG_BAR

5.3 向shell传递参数

5.4 pod读取configMap文件 nginx

Nginx需读取配置⽂件/etc/nginx/nginx.conf,⽽Nginx镜像内的这个
⽂件包含默认配置,并不想完全覆盖这个配置⽂件。幸运的是,默认
配置⽂件会⾃动嵌⼊⼦⽂件夹/etc/nginx/conf.d/下的所有.conf⽂件,因
此只需要将你的配置⽂件置于该⼦⽂件夹中即可
pod定义中包含了引⽤fortune-config ConfigMap的卷,需要被挂载
到⽂件夹/etc/nginx/conf.d下让Nginx服务器使⽤它。

# 配置pod

# 配置configMap

现 在 的 web 服 务 器 应 该 已 经 被 配 置 为 会 压 缩 响 应 , 可 以 将
localhost:8080转发到pod的80端口,利⽤curl检查服务器响应来验证配
置是否⽣效

5.5 其他配置方式

# 卷内暴露指定的ConfigMap条⽬
指定单个条⽬时需同时设置条⽬的键名称以及对应的⽂件名。如
果采⽤上⾯的配置⽂件创建pod,/etc/nginx/conf.d⽂件夹是⽐较⼲净的,
仅包含所需的gzip.conf⽂件。

# 为configMap卷中的⽂件设置权限
configMap卷中所有⽂件的权限默认被设置为644(-rw-r-r--)。可
以通过卷规格定义中的defaultMode属性改变默认权限

5.6 更新configmap

configmap重新修改不会pod不会自动重新配置,需要pod重新加载或者重启。
能够自动配置的,只可能是本身容器内的服务能够自己重新加载配置文件
比如 nginx -s reload

# 查看配置

# 重新加载

6、secret 敏感数据

6.1 什么是secret

采⽤ConfigMap存储⾮敏感的⽂本配置数据。
采⽤Secret存储天⽣敏感的数据,通过键来引⽤。如果⼀个配置⽂
件同时包含敏感与⾮敏感数据,该⽂件应该被存储在Secret中

这篇关于7、configMap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899273

相关文章

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

【kubernetes】配置管理中心Configmap运用

一,介绍 Configmap(简写 cm)是k8s中的资源对象,用于保存非机密性的配置的,数据可以用key/value键值对的形式保存,也可通过文件的形式保存。 【局限性】:在ConfigMap不是用来保存大量数据的,其数据量不可超过1 MiB。 kubectl get cm 二,功能 Configmap资源对象,可以有一个或者多个Configmap,通过 volume 形式映射到容器

Kubernetes中的配置管理:Secret与ConfigMap的深入解析

引言 在Kubernetes集群中,配置管理是确保应用程序正常运行的关键。Kubernetes提供了两种主要的方式来存储和管理配置数据:Secret和ConfigMap。虽然它们都用于存储配置信息,但它们的用途、特性和使用场景却有所不同。本文将详细比较Secret和ConfigMap,并通过代码示例来展示它们在实际应用中的使用。 Secret与ConfigMap概述 Secret 是用于存储

深入理解Kubernetes中的ConfigMap:配置管理的艺术

在Kubernetes的世界中,配置管理是一个至关重要的部分,它允许开发者和运维人员将配置信息从容器镜像中分离出来,以便于更灵活地管理和更新应用。ConfigMap是Kubernetes提供的一种配置管理工具,它允许用户将配置数据存储在集群中,并且可以被Pods以多种方式使用。本文将详细介绍ConfigMap的概念、使用场景、创建方法以及最佳实践。 ConfigMap简介 ConfigMap是

k8s上使用ConfigMap 和 Secret

使用ConfigMap 和 Secret 实验目标: 学习如何使用 ConfigMap 和 Secret 来管理应用的配置。 实验步骤: 创建一个 ConfigMap 存储应用配置。创建一个 Secret 存储敏感信息(如数据库密码)。在 Pod 中挂载 ConfigMap 和 Secret,并验证应用读取配置。 今天我们来做一下分享的可练习实验中的第二个实验:使用ConfigMap

helm-chart-读取配置文件到ConfigMap并映射到容器中

我们以一个项目例子来说明,项目文件结构如下: $ tree . ├── Chart.yaml ├── etc │ └── data.txt ├── etc-values.yaml └── templates ├── configmap.yaml ├── deployment.yaml ├── _helpers.tpl ├── NOTES.txt └── service.yaml 准备测试用的配置

k8s挂载配置文件(通过ConfigMap方式)

一、ConfigMap简介 K8s中的ConfigMap是一种用于存储配置数据的API对象,属于Kubernetes中的核心对象。它用于将应用程序的配置信息与容器镜像分离,以便在不重新构建镜像的情况下进行配置的修改和更新。ConfigMap可以存储键值对、文本文件或者以特定格式组织的配置文件,例如环境变量、命令行参数等。 ConfigMap的主要作用是提供一个集中管理和传递配置信息的机制,让应

配置Kubernetes资源管理Secret与ConfigMap

前言 Kubernetes 中的 Secret(提供加密模式)和 ConfigMap(提供配置)是关键的资源,用于安全地存储和管理敏感信息和配置数据。它们在应用程序开发和部署过程中扮演着重要的角色。本文将介绍如何有效地配置和管理这些资源,以便更好地利用 Kubernetes 的强大功能。 目录 一、Secret 1. 概述 2. Secret 类型 2.1 kubernetes.io/

探索k8s集群的配置资源(secret和configmap)

目录 ConfigMap ConfigMap(主要是将配置目录或者文件挂载到k8s里面使用) 与Secret类似,区别在于ConfigMap保存的是不需要加密配置的信息。(例如:配置文件) ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机

k8s初级实战08--ConfigMap

k8s初级实战08--ConfigMap 1 基础概念2 常见用法2.1 创建configmap2.2 使用configmap 3 注意事项4 说明 1 基础概念 ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。 ConfigMap 将环境配置信息和容器镜像解耦,便于应用配置