顾名思义,ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。
ConfigMap同Kubernetes的另一个概念secret类似,区别是ConfigMap主要用于保存不包含敏感信息的明文字符串。
创建方式:
kubectl create configmap special-config --from-literal=i042416=jerry
上述命令行创建了一个名为special-config的键值对,
key为i042416, 值为jerry
接下来我希望用这个key为i042416的值"jerry"来定义成pod里的一个环境变量。
下面是我的yaml文件:
apiVersion: v1
2 kind: Pod
3 metadata:
4 name: jerry-config-pod
5 spec:
6 containers:
7 - name: test-container
8 image: gcr.io/google_containers/busybox
9 command: [ "/bin/sh", "-c", "env" ]
10 env:
11 - name: JERRY_NAME
12 valueFrom:
13 configMapKeyRef:
14 name: special-config
15 key: i042416
16 restartPolicy: Never
可以看到第15行引用了我的ConfigMap的key:i042416
下面使用create -f将该yaml文件导入,创建一个新的pod:
创建之后,能在pod的明细页面看到configMap的key已经作为环境变量显示出来了:
因为我yaml文件里指定pod执行的script为/bin/sh -c env, 因此最后会将容器里所有的环境变量都打印出来,我们定义在ConfigMap里的i042416的值jerry也被显示了出来:
这种定义环境变量的做法和SAP云平台CloudFoundry环境里定义环境变量的方式很类似。
CloudFoundry环境变量一览表:
https://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html
- CF_INSTANCE_ADDR
- CF_INSTANCE_GUID
- CF_INSTANCE_INDEX
- CF_INSTANCE_IP
- CF_INSTANCE_INTERNAL_IP
- CF_INSTANCE_PORT
- CF_INSTANCE_PORTS
- DATABASE_URL
- HOME
- LANG
- MEMORY_LIMIT
- PORT
- PWD
- TMPDIR
- USER
- VCAP_APP_PORT
- VCAP_APPLICATION
- VCAP_SERVICES
当使用cf push命令将本地应用部署到SAP云平台的CloudFoundry环境下时,某些环境变量会自动被系统写入相应的值,这个行为同ABAP的sy-sysid自动被设置为当前系统ID具有一样的逻辑。
比如app router会把用户访问请求重定向到XSUAA实例上。
app router在manifest.yml里定义的XSUAA实例名称为xsuaa-jerry-demo,
在运行时这个XSUAA的id会被SAP云平台自动写入环境变量VCAP_SERVICES里:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
主要介绍了Springboot整合Spring Cloud Kubernetes读取ConfigMap支持自动刷新配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Kubernetes ConfigMap重新加载 configmap-reload是一个简单的二进制文件,可在更新Kubernetes ConfigMaps时触发重新加载。 它监视已安装的卷目录,并通知目标进程配置映射已更改。 它目前仅支持发送HTTP请求,但是...
ConfigMap 是用来存储配置文件的 Kubernetes 资源对象,所有的配置内容都存储在 etcd 中。它可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制对象。ConfigMap API 资源提供了将配置数据注入容器...
023 Kubernetes的pv、pvc、configmap和secret.mp4
Synator Kubernetes Secret和ConfigMap同步器 有时,我们想在不同的名称空间中使用机密,不幸的是,我们不能没有任何辅助运算符或手动复制,因为在kubernetes中,机密和configmaps是名称空间。 当我们有几个命名空间...
在Spring Boot应用程序中使用Kibernetes Configmap 1. Spring Boot Application属性 首先,让我们向MVC控制器添加简单的启动属性,没什么大不了的: @RestController public class ControllerMVC { @Value ( " ${...
bitnami-docker-configmap-reload-源码.rar
Kubernetes滚动更新ConfigMap和秘密更改 的了使用此存储库的详细说明。 通过运行./nginx-config-example.sh部署nginx-config-example.yml 在以下URL上查看两个网站: 前端网站: 后端网站: 用户名: admin ...
configmap-reload是一个云原生工具,用于监视Kubernetes ConfigMap,并在更新ConfigMap时触发重新加载。 TL; DR 在Kubernetes集群上部署 。 为什么要使用Bitnami Images? Bitnami密切跟踪上游源代码变化,并使用...
对于名为foo的Deployment具有一个名为foo-configmap的ConfigMap或名为foo-secret Secret或这两者。 然后将注释(默认为reloader.stakater.com/auto )添加到Deployment主要元数据中 kind : Deployment metadata : ...
configmap.yaml
步骤 3 从这两个文件创建 configmap查看 configmap 详细信息HCIP-Cloud Computing-Container V1.0 实验指导
│ 13-kubernetes pv、pvc、configmap和secret.mp4 │ 14-kubernetes statefulset控制器.mp4 │ 15-kubernetes认证及serviceaccount.mp4 │ 16-kubernetes RBAC.mp4 │ 17-kubernetes dashboard认证及分级授权.mp4 ...
Kubernetes(k8s)是一个流行的容器编排系统,用于自动化应用...12. ConfigMap和Secret在Kubernetes中的作用是什么? 13. 什么是Kubernetes的Volume? 14. Kubectl常用的命令有哪些? 15. 解释什么是Kubernetes的Sta
ConfigMap、Secret 为什么有这两个东西: 我们在kubernetes上部署应用的时候,经常会需要传一些配置给我们的应用,比如数据库地址啊,用户名密码啊之类的。我们要做到这个,有好多种方案,比如: 我们可以直接在打包...
目录网盘文件永久链接 ...13-kubernetes pv、pvc、configmap和secret.mp4 14-kubernetes statefulset控制器.mp4 15-kubernetes认证及serviceaccount.mp4 16-kubernetes RBAC.mp4 17-kubernetes dashboard......
# Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map. - apiGroups: [""] resources: ["configmaps"] resourceNames: ["kubernetes-dashboard-settings"] verbs: ["get", "update...
Kubernetes配置 我的Kubernetes配置 启用RBAC创建 kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user caleb@doxsey.net 创建秘密 kubectl create secret generic cloud...
ConfigMap Secret RBAC 部署Wordpress示例 DaemonSet 和 StatefulSet 持久化存储: PV PVC StorageClass 服务发现 kubedns ingress 安装配置 ingress tls 和 path 的使⽤ 包管理⼯具 Helm Helm 的安装使⽤ Helm 的...
Kubernetes的ConfigMap,秘密和角色以及RoleBinding复制 该存储库包含一个自定义的Kubernetes控制器,可用于使秘密和配置映射在多个名称空间中可用。内容部署方式使用头盔: $ helm repo add mittwald ...