kubernetes存储(一)——K8S的Configmap配置管理(4种创建方式+使用)

本文介绍了Kubernetes的ConfigMap配置管理,详细阐述了4种创建ConfigMap的方法,包括字面值、文件、目录及yaml文件创建。此外,还讲解了如何通过环境变量、命令行参数和数据卷来使用ConfigMap,并讨论了ConfigMap的热更新及其在滚动更新中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


参考官网:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/

1.ConfigMap配置管理介绍

ConfigMap配置管理
• Configmap用于保存配置数据,以键值对形式存储。
• configMap 资源提供了向 Pod 注入配置数据的方法。
• 旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。

典型的使用场景
• 填充环境变量的值
• 设置容器内的命令行参数
• 填充卷的配置文件


2.创建ConfigMap的4种方式

创建ConfigMap的方式有4种:
• 使用字面值创建
• 使用文件创建
• 使用目录创建
• 编写configmap的yaml文件创建

2.1 使用字面值创建ConfigMap

kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2

[kubeadm@server1 ~]$ mkdir cm
[kubeadm@server1 ~]$ ls
calico.yaml  cm  kube-flannel.yml  mainfest  nginx.tar
[kubeadm@server1 ~]$ cd cm/
[kubeadm@server1 cm]$ kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2
configmap/my-config created
[kubeadm@server1 cm]$ kubectl get cm
NAME        DATA   AGE
my-config   2      10s
[kubeadm@server1 cm]$ kubectl get cm -n kube-system 
NAME                                 DATA   AGE
coredns                              1      8d
extension-apiserver-authentication   6      8d
kube-flannel-cfg                     2      21h
kube-proxy                           2      8d
kubeadm-config                       2      8d
kubelet-config-1.18                  1      8d
[kubeadm@server1 cm]$ kubectl describe cm my-config 
Name:         my-config
Namespace:    default
Labels:       <none>
Annotations:  <none>
Data
====
key1:
----
config1
key2:
----
config2
Events:  <none>

在这里插入图片描述
在这里插入图片描述


2.2 使用文件创建ConfigMap

kubectl create configmap my-config-2 --from-file=/etc/resolv.conf

[kubeadm@server1 cm]$ kubectl create configmap my-config-2 --from-file=/etc/resolv.conf 
configmap/my-config-2 created
[kubeadm@server1 cm]$ kubectl get cm
NAME          DATA   AGE
my-config     2      2m51s
my-config-2   1      3s
[kubeadm@server1 cm]$ kubectl describe cm my-config-2
Name:         my-config-2
Namespace:    default
Labels:       <none>
Annotations:  <none>
Data
====
resolv.conf:
----
nameserver 114.114.114.114
Events:  <none>

在这里插入图片描述
在这里插入图片描述


2.3 使用目录创建ConfigMap

kubectl create configmap my-config-3 --from-file=test

[kubeadm@server1 cm]$ mkdir test
[kubeadm@server1 cm]$ cp /etc/fstab test/
[kubeadm@server1 cm]$ cp /etc/resolv.conf test/
[kubeadm@server1 cm]$ ll test/
total 8
-rw-r--r-- 1 kubeadm kubeadm 502 Jun 27 19:47 fstab
-rw-rw-r-- 1 kubeadm kubeadm  28 Jun 27 19:47 resolv.conf
[kubeadm@server1 cm]$  kubectl create configmap my-config-3 --from-file=test 
configmap/my-config-3 created
[kubeadm@server1 cm]$ kubectl get cm
NAME          DATA   AGE
my-config     2      5m50s
my-config-2   1      3m2s
my-config-3   2      6s
[kubeadm@server1 cm]$ kubectl describe cm my-config-3
Name:         my-config-3
Namespace:    default
Labels:       <none>
Annotations:  <none>
Data
====
fstab:
----
#
# /etc/fstab
# Created by anaconda on Thu May  7 08:28:06 2020
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值