0
点赞
收藏
分享

微信扫一扫

Kubernetes ConfigMap

一.创建

(1)使用指令kubectl创建ConfigMap

kubectl create configmap fortune-config --from-literal=sleep-interval=25

  configmap名称:fortune-config

  映射条目:sleep-interval=25

使用指令kubectl创建多个条目的ConfigMap
kubectl create configmap fortune-config --from-literal=sleep-interval=25   --from-literal=foo=bar

查看ConfigMap的Yaml格式的定义描述

[rancher@rancher-0 ~]$ kubectl  get configmap fortune-config -o yaml
apiVersion: v1
data:
sleep-interval: "25"  #映射的唯一条目
kind: ConfigMap
metadata:
creationTimestamp: "2019-05-31T07:56:12Z"
name: fortune-config
namespace: default
resourceVersion: "6360635"
selfLink: /api/v1/namespaces/default/configmaps/fortune-config
uid: 8f2c4de0-8379-11e9-b3bc-000c29fd1fbc

(2)通过Kubernetes API来创建:

kubectl create -f  fortune-config.yaml


(3)从文件中创建ConfigMap条目

  ConfigMap可以存储粗粒度的配置数据,比如完整的配置文件。


kubectl create -f configmap my-config --from-file=config-file.conf

  运行上述命令时,kubectl会在当前的目录下查找config-file.conf文件,并将文件内容存储在ConfigMap中以config-file.conf为键名的条目下。

也可以手动指定键名:

kubectl create -f configmap my-config --from-file=customkey=config-file.conf

 (4)从文件夹中创建ConfigMap

kubectl  create -f configmap my-config --from-file=/path/to/dir

 (5)合并不同选项

kubectl  create -f configmap my-config
-- from-file=foo.json
-- from-file=bar=foobar.conf
-- from-file=config-opts/
-- from-file=some=thing

  以上包含文件夹,单独文件,自定义键名的条目下的文件及字面量

下图 显示了所有源选项以及最终ConfigMap:

Kubernetes ConfigMap _配置文件


二.在POD上使用

(1)设置环境变量

  通过配置文件注入环境变量的pod: fortune-pod-env-configmap.yaml

apiVersion : v1
kind: Pod
rnetadata:
name: fortune-env-frorn-conf-grnap
spec:
containers:
- image : luksa/fortune:env
env :
- name : INTERVAL
valueFrorn:
configMapKeyRef:
name: fortune-config
key: sleep-interval

....

  这里定义了 个环境 变量 INTERVAL 并将其值设置为 fortune-config-ConfigMap 中键名为 sleep-interval 对应的值,如下图

Kubernetes ConfigMap _配置文件_02

举报

相关推荐

0 条评论