关注分享主机优惠活动
国内外VPS云服务器

如何使用Kubernetes的configmap通过环境变量注入pod(kubectl指定配置)

总结:这实际上是一系列键值对,存储在 . 该区域插入一个名为 的环境变量,并从键名为 的键值对中检索值。 创建此并使用命令查看此运行生成的日志。 在输出环境变量列表中,我可以看到这是我插入到文件中的环境变量的名称以及值的来源。

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”。紫溪":

未经允许不得转载:主机频道 » 如何使用Kubernetes的configmap通过环境变量注入pod(kubectl指定配置)

评论 抢沙发

评论前必须登录!