如何将configMap加载到环境变量中?
Things I've done
Kubernetes documentation描述了这种情况,并遵循它:
我实际上通过Terraform设置了我的 configMap
:
resource "kubernetes_config_map" "production_database_host" {
metadata {
name = "production-database-host"
}
data {
connection_name = "${google_sql_database_instance.master.connection_name}"
}
}
但是通过Kubernetes,它看起来像这样:
apiVersion: v1
data:
connection_name: this_string_is_redacted
kind: ConfigMap
metadata:
creationTimestamp: 2018-10-12T05:49:49Z
name: production-database-host
namespace: default
resourceVersion: "316273"
selfLink: /api/v1/namespaces/default/configmaps/production-database-host
uid: a1c06423-cde2-11e8-b615-42010a800235
(通过运行 kubectl get configmap production-database-host -o yaml
获取)
现在,我在部署中也有一个工作容器,我在其中添加了一个环境变量:
env:
- name: INSTANCE_CONNECTION_NAME
valueFrom:
configMapKeyRef:
name: production-database-host
key: connection_name
但是,应用此配置可以让我:
$ kubectl apply -f .
error: error converting YAML to JSON: yaml: line 39: did not find expected key
我在这做错了什么?为什么这不会简单地将 this_string_is_redacted
加载到 INSTANCE_CONNECTION_NAME
环境变量中?
Edit: 我的基础架构的所有源都在repo中 . 首先应用Terraform文件,它们创建Kubnernetes集群并添加configMap . 然后我应用Kubernetes配置 .
1 回答
这是一个格式化问题,不幸的是块:
缩进了一个空间比我应该的更多 . 其他一切都很好 .