我是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
未在环境变量中定义。
我做错了什么?
答案 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与当前操作相关联。