configMap 概述
文档: https://kubernetes.io/zh-cn/docs/concepts/configuration/configmap/
Kubernetes 为我们提供了 ConfigMap,可以方便的配置一些变量
是一个存储键值对 key-value 对象的
创建一个可以包含多个键值对的 ConfigMap, 以下是:
mul-cm.yaml
apiVersion: v1 kind: ConfigMap metadata: name: my-db-config data: db-url: localhost --- apiVersion: v1 kind: Pod metadata: name: cm-app labels: name: cm-app spec: containers: - name: cm-app image: busybox command: [ "sh", "-c", "env && sleep 60" ] resources: limits: memory: "64Mi" cpu: "500m" envFrom: - configMapRef: name: my-db-config
- 这里只在 data 中配置一个 db-url 如果需要多个,自行配置
$
kc apply -f mul-cm.yaml
创建configmap/my-db-config created pod/cm-app created
$
kc get configmap
查看 configmapNAME DATA AGE my-db-config 1 12s
$
kc get pod | grep cm
cm-app 1/1 Running 0 18s
$
kc logs cm-app | grep db
db-url=localhost
这里可以看到,配置的字段写入了环境变量
这样应用程序就可以读取环境变量了,实现了应用的解耦