【K8s】专题五(1):Kubernetes 配置之 ConfigMap

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发、订阅专栏!


专栏订阅入口

Linux 专栏 | Docker 专栏 | Kubernetes 专栏


往期精彩文章

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)

【Docker】MySQL 源码构建 Docker 镜像(基于 ARM 64 架构)


目录

一、基本介绍

二、主要特性

三、资源清单(示例)

1、示例一

2、示例二

四、常用操作

1、创建 ConfigMap

2、更新 ConfigMap

3、查看 ConfigMap

4、删除 ConfigMap


一、基本介绍

在 Kubernetes 中,ConfigMap 是一种用于存储非敏感信息的资源对象,提供了向 Pod 注入配置信息的能力。

ConfigMap 通过将配置与容器镜像解耦,使用一系列键值对(key-value pairs)为应用程序提供配置信息,使得应用程序的配置更加灵活,并增强了可移植。

ConfigMap 详细介绍:ConfigMaps | Kubernetes


二、主要特性
  • 环境变量:ConfigMap 可以被设置为 Pod 的环境变量
  • 命令行参数:ConfigMap 可以被注入到 Pod 的启动命令行参数中
  • 数据卷:ConfigMap 可以被挂载为一个数据卷,使得 Pod 内的容器可以访问配置文件
  • 多个 ConfigMap:Pod 可以挂载多个 ConfigMap,这允许将不同方面的配置信息分开存储
  • 命名空间:ConfigMap 是命名空间级别的资源,其作用域被限制在特定的命名空间内
  • 对象管理:可以通过 Kubernetes API 来创建、更新和删除 ConfigMap


三、资源清单(示例)
1、示例一
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: demo-configmap
data:
  RUN_ENV: prod
  RUN_MODE: allinone

上述 configmap.yaml 文件定义了一个名为 demo-configmap 的 ConfigMap 对象,data 下定义了两组键值对作为环境变量。

2、示例二
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: demo-configmap
data:
  conf_A: |
    host: hostA
    name: nameA

  conf_B: |
    host: hostB
    name: nameB

上述 configmap.yaml 文件定义了一个名为 demo-configmap 的 ConfigMap 对象,data 下定义了两组键值对,分别是名为 conf_A 和 conf_B 的文件及其内容。

说明:可以通过以下命令查看 ConfigMap 资源清单支持定义的内容

kubectl explain configmap --recursive


四、常用操作
1、创建 ConfigMap
# 方式一:使用目录或文件
kubectl create configmap demo-configmap --from-file=<目录名称或文件名称>

🔔 说明:本方式创建的 ConfigMap 对象中,每一组键值对的 key 是文件名,value 是文件内容

# 方式二:使用 env 文件
kubectl create configmap demo-configmap --from-env-file=<env文件名称>

🔔 说明:本方式创建的 ConfigMap 对象中,直接将 env 文件中 key=value 形式转换为 key:value 形式

# 方式三:使用字符串
kubectl create configmap demo-configmap --from-literal=key1=value1 --from-literal=key2=value2

# 方式四:使用资源清单
kubectl create -f configmap.yaml
或
kubectl apply -f configmap.yaml

2、更新 ConfigMap
# 方式一:修改文件后重新创建
kubectl create configmap demo-configmap --from-file=<目录名称或文件名称> --dry-run -oyaml | kubectl apply -f -

🔔 说明:ConfigMap 对象已经存在的情况下,直接 create 会报错,可以先通过 --dry-run 选项生成资源清单,再通过 apply 进行更新

# 方式二:修改资源清单后更新
kubectl apply -f configmap.yaml

3、查看 ConfigMap
# 查看实例列表
kubetcl get configmap

# 查看资源清单
kubetcl get configmap demo-configmap -o yaml

# 查看详细信息
kubectl describe cofigmap demo-configmap

4、删除 ConfigMap
# 方式一:命令行
kubectl delete configmap demo-configmap
 
# 方式二:资源清单
kubectl delete -f configmap.yaml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者Sun1989

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值