代码之家  ›  专栏  ›  技术社区  ›  Ennar.ch

与configmap通信时出错

  •  5
  • Ennar.ch  · 技术社区  · 6 年前

    你好,我正在使用谷歌KubNeNes引擎来部署我的应用程序。我试图添加配置映射

    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
    

    我的服务我不跑,我得到了

    创建容器配置错误 当我试图展示吊舱的结果时

    当我“描述我的豆荚”时

    错误:找不到密钥数据库主机

    我的问题是,为什么我的部署文件没有与我定义的configmap混合

    我通过这个命令创建了configmap

    kubectl create configmap configmap--from file=configmap.yaml

    2 回复  |  直到 6 年前
        1
  •  0
  •   Maciek Sawicki    6 年前

    尝试 configmap --from-env-file=configm

        2
  •  1
  •   MohammadMahdi Eilbeigi    6 年前

    如“kubectl create configmap--help”中所述: --from env file='':指定要读取key=val对行的文件的路径,以创建configmap(即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"
    
        3
  •  1
  •   Rahul Reddy Kandula    5 年前

    不要使用--from file命令。 尝试kubectl apply-f configmap.yaml

    推荐文章