kubernetes实践之三十五:Pod配置管理ConfigMap
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,一:简介很多生产环境中的应用程序配置较为复杂,可能需要多个config文件、命令行参数和环境变量的组合。使用容器部署时,把配置应该从应用程序镜像中解耦出来,以保证镜像的可移植性。ConfigMap是用
千家信息网最后更新 2025年12月01日kubernetes实践之三十五:Pod配置管理ConfigMap一:简介
很多生产环境中的应用程序配置较为复杂,可能需要多个config文件、命令行参数和环境变量的组合。使用容器部署时,把配置应该从应用程序镜像中解耦出来,以保证镜像的可移植性。
ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中。ConfigMap让我们能够从容器镜像中把配置的详细信息给解耦出来。通过ConfigMap我们能够把配置以key-value对的形式传递到container或者别的系统组件(比如Controller)里面。
二:ConfigMap的创建方式
1.From Literal Values 可以用kubectl create来创建一个ConfigMap,然后通过kubectl get来获取
kubectl create configmap donkey.properties --from-file=donkey.properties
三:ConfigMap的使用方式
1.Pod 通过env使用ConfigMap定义环境变量
2.使用ConfigMap设置容器启动命令的启动参数
1.ConfigMap必须在Pod之前创建
2.ConfigMap受Namespace限制,只有处于相同Namespaces中的Pod可以引用它
3.ConfigMap 中的配额管理还未能实现
4.kubelet只支持可以被API Server管理的Pod使用ConfigMap
很多生产环境中的应用程序配置较为复杂,可能需要多个config文件、命令行参数和环境变量的组合。使用容器部署时,把配置应该从应用程序镜像中解耦出来,以保证镜像的可移植性。
ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中。ConfigMap让我们能够从容器镜像中把配置的详细信息给解耦出来。通过ConfigMap我们能够把配置以key-value对的形式传递到container或者别的系统组件(比如Controller)里面。
二:ConfigMap的创建方式
1.From Literal Values 可以用kubectl create来创建一个ConfigMap,然后通过kubectl get来获取
点击(此处)折叠或打开
- # Create the ConfigMap
- $ kubectl create configmap my-config --from-literal=key1=value1 --from-literal=key2=value2
- configmap "my-config" created
- # Get the ConfigMap Details for my-config
- $ kubectl get configmaps my-config -o yaml
- apiVersion: v1
- data:
- key1: value1
- key2: value2
- kind: ConfigMap
- metadata:
- creationTimestamp: 2017-05-31T07:21:55Z
- name: my-config
- namespace: default
- resourceVersion: "241345"
- selfLink: /api/v1/namespaces/default/configmaps/my-config
- uid: d35f0a3d-45d1-11e7-9e62-080027a46057
点击(此处)折叠或打开
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: special-config
- namespace: default
- data:
- special.how: very
点击(此处)折叠或打开
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: env-config
- namespace: default
- data:
- log_level: INFO
kubectl create configmap donkey.properties --from-file=donkey.properties
三:ConfigMap的使用方式
1.Pod 通过env使用ConfigMap定义环境变量
点击(此处)折叠或打开
- apiVersion: v1
- kind: Pod
- metadata:
- name: dapi-test-pod
- spec:
- containers:
- - name: test-container
- image: gcr.io/google_containers/busybox
- command: [ "/bin/sh", "-c", "env" ]
- env:
- - name: SPECIAL_LEVEL_KEY
- valueFrom:
- configMapKeyRef:
- name: special-config
- key: special.how
- - name: LOG_LEVEL
- valueFrom:
- configMapKeyRef:
- name: env-config
- key: log_level
- restartPolicy: Never
点击(此处)折叠或打开
- apiVersion: v1
- kind: Pod
- metadata:
- name: dapi-test-pod
- spec:
- containers:
- - name: test-container
- image: gcr.io/google_containers/busybox
- command: [ "/bin/sh", "-c", "env" ]
- envFrom:
- - configMapRef:
- name: special-config
- restartPolicy: Never
2.使用ConfigMap设置容器启动命令的启动参数
点击(此处)折叠或打开
- apiVersion: v1
- kind: Pod
- metadata:
- name: dapi-test-pod
- spec:
- containers:
- - name: test-container
- image: k8s.gcr.io/busybox
- command: [ "/bin/sh", "-c", "echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)" ]
- env:
- - name: SPECIAL_LEVEL_KEY
- valueFrom:
- configMapKeyRef:
- name: special-config
- key: SPECIAL_LEVEL
- - name: SPECIAL_TYPE_KEY
- valueFrom:
- configMapKeyRef:
- name: special-config
- key: SPECIAL_TYPE
- restartPolicy: Never
点击(此处)折叠或打开
- apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- image: 120.79.156.135/desktop/busybox:latest
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
name: busybox
volumeMounts:
- name: donkeyconfig
mountPath: /configfiles
volumes:
- name: donkeyconfig
configMap:
name: donkey.properties
items:
- key: donkey.properties
path: donkey.properties
restartPolicy: Always
imagePullSecrets:
- name: registry-secret
1.ConfigMap必须在Pod之前创建
2.ConfigMap受Namespace限制,只有处于相同Namespaces中的Pod可以引用它
3.ConfigMap 中的配额管理还未能实现
4.kubelet只支持可以被API Server管理的Pod使用ConfigMap
配置
文件
环境
变量
命令
容器
镜像
存储
管理
内容
参数
应用程序
方式
程序
解耦
应用
限制
复杂
相同
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏回收报废服务器虚拟主机
网络安全名人名言手抄报50字
网络安全应急处置培训
软件开发工程师se
计算机与网络技术毕业论文
猫叫声音软件开发
html接入数据库变量
绍兴工业网络技术
八大数据库管理系统
新媒体和软件开发
前台服务器
小橙科技互联网
戴尔服务器关不了机
倩女幽魂2正在连接服务器
明日方舟日服服务器未开启
中关村服务器网站
莱芜凤巢网络技术有限公司咋样
客户数据库建立
sql数据库如何小数后两位
数据库中关系模型的转换
根节点服务器
微信聊天记录微信服务器上有吗
数据库服务器主要由什么组成
互联网科技美容品牌
浦东新区方便软件开发售后保障
服务器管理器不能添加功能
怎么申请服务器端口
武大网络安全研究生分数线
腾纵网络技术有限公司
软件开发w亿玛酷1流量订制