嗨,我正在使用Google kubernetes引擎来部署我的应用程序。我试图添加configMap
apiVersion: v1
kind: ConfigMap
metadata:
name: configmap
namespace: default
data:
database_user: root
database_password: root
database_db: db
database_port: 5432
database_host: mypostgres
然后在我的应用程序部署文件中,映射如下的环境变量
spec:
containers:
- env:
- name: DATABASE_HOST
valueFrom:
configMapKeyRef:
name: configmap
key: database_host
- name: DATABASE_NAME
valueFrom:
configMapKeyRef:
name: configmap
key: database_db
- name: DATABASE_PASSWORD
valueFrom:
configMapKeyRef:
name: configmap
key: database_password
- name: DATABASE_USER
valueFrom:
configMapKeyRef:
name: configmap
key: database_user
- name: DATABASE_PORT
valueFrom:
configMapKeyRef:
name: configmap
key: database_port
我的服务没有运行,我得到了
CreateContainerConfigError 当我尝试显示广告连播的结果
当我“描述我的豆荚”时,我得到了
错误:找不到密钥database_host
我的问题是,为什么我的部署文件没有与我定义的configmap冲突
我通过此命令创建了configmap
kubectl创建configmap configmap --from-file = configmap.yaml
答案 0 :(得分:1)
如“ kubectl create configmap --help”中所述: --from-env-file ='':指定文件的路径以读取key = val对的行以创建配置映射(即Docker .env文件)。
所以您只需要创建一个名为conf的文件,其值如下:
database_user= root
database_password= root
database_db= db
database_port= 5432
database_host= mypostgres
并运行:“ kubectl create configmap coco-config --from-env-file = conf”
更新: 如果将数据放在“”中,问题将得到解决
apiVersion: v1
kind: ConfigMap
metadata:
name: configmap
namespace: default
data:
database_user: "root"
database_password: "root"
database_db: "db"
database_port: "5432"
database_host: "mypostgres"
答案 1 :(得分:1)
请勿使用--from-file命令。 尝试kubectl apply -f configmap.yaml
答案 2 :(得分:0)
尝试configmap --from-env-file=configm