总结:这实际上是一系列键值对,存储在 . 该区域插入一个名为 的环境变量,并从键名为 的键值对中检索值。 创建此并使用命令查看此运行生成的日志。 在输出环境变量列表中,我可以看到这是我插入到文件中的环境变量的名称以及值的来源。
Kubernetes 官网有一篇文章指出,Kubernetes 的最佳实践之一就是将应用程序代码与配置信息分离。 一种方法是使用 Kubernetes 1.2 中引入的 configmap 概念。
https://kubernetes.io/blog/20...
Configmap实际上是etcd中的一组键值对。将会被拯救。 etcd的官方网站有如下声明:
etcd 是一种分布式键 - 值存储,旨在可靠、快速地存储和提供对重要数据的访问。
https://github.com/etcd-io/et...
etcd是一个高性能的分布式键/值存储。
使用以下命令行创建 Kubernetes configmap:
kubectl create configmap test-config --from-literal= test.type=unit [ k4]-from-literal=test.exec=always
名为 test-config 的键值对创建。 关键是测试类型。 ,value是unit,key是test.exec,value是always。
我计划创建构建一个 pod 并使用名为 test-config 的配置映射。
创建一个包含以下内容的 yaml 文件:
apiVersion: v1kind: Podmetadata:name: test-configmapspec:containers:- name: test- containerimage: Alpine:3.8 命令: [ "/bin/sh", "-c", "env" ]env:- 名称: TEST_TYPEvalueFrom:configMapKeyRef:name: test-configkey: test.type[k4 ] 名称: TEST_EXECvalueFrom:configMapKeyRef:name: test-configkey: test.execrestartPolicy: Never
此 yaml 文件中定义的 pod 是基于 docker 镜像 alpine 的。 执行shell命令 /bin/sh -c env 查看环境变量。
在 env 区域中,将名为 TEST_TYPE 的环境变量插入到您的 pod 中。 它的值是从configMap键值对中键名test.type的值获取的。
kubectl create -f 创建这个pod:
命令kubectl使用这个logs test-configmap查看pod 运行生成的日志并确保 TEST_TYPE=unit 出现在输出环境变量列表中。 这里的 TEST_TYPE 是您插入到 yaml 文件中的环境变量的名称,单位取自 configmap 中 test-config 值的单位。
获取更多Jerry原创文章,请关注公众号“King”。紫溪":
评论前必须登录!
注册