Kube /使用配置映射创建部署

时间:2019-02-05 14:52:10

标签: kubernetes

我是kube的新用户,我尝试使用configmap文件创建部署。我有以下内容:

app-mydeploy.yaml
--------
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-mydeploy
  labels:
    app: app-mydeploy
spec:
  replicas: 3
  selector:
    matchLabels:
      app: mydeploy
  template:
    metadata:
      labels:
        app: mydeploy
    spec:
      containers:
        - name: mydeploy-1
          image: mydeploy:tag-latest
          envFrom:
          - configMapRef:
              name: map-mydeploy

map-mydeploy
-----
apiVersion: v1
kind: ConfigMap
metadata:
  name: map-mydeploy
  namespace: default
data:
  my_var: 10.240.12.1

我使用以下命令创建了配置和部署:

kubectl create -f app-mydeploy.yaml

kubectl create configmap map-mydeploy --from-file=map-mydeploy

当我做kubectl describe deployments时,我会进入其余的状态:

Environment Variables from:
  map-mydeploy  ConfigMap  Optional: false

kubectl describe configmaps map-mydeploy也给我正确的结果。

问题是我的容器是CrashLoopBackOff,当我查看日志时,它说:time =“ 2019-02-05T14:47:53Z” level = fatal msg =“必需的环境变量my_var是没有设置。

此日志来自我的容器,该容器说my_var未在环境变量中定义。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我认为您缺少命令中的键

kubectl create configmap map-mydeploy --from-file=map-mydeploy

  • 尝试使用此kubectl create configmap map-mydeploy --from-file=my_var=map-mydeploy

我也强烈建议,如果您仅使用一个值,请从文字kubectl create configmap my-config --from-literal=my_var=10.240.12.1创建configMap,然后在部署中将configMap与当前操作相关联。