kubernetes - Kube / 使用配置图创建部署
问题描述
我是 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
未在 env vars 中定义。
我做错了什么?
解决方案
我认为您缺少命令中的键
kubectl create configmap map-mydeploy --from-file=map-mydeploy
- 试试这个
kubectl create configmap map-mydeploy --from-file=my_var=map-mydeploy
我还强烈建议,如果您只使用一个值,请从文字创建 configMap,kubectl create configmap my-config --from-literal=my_var=10.240.12.1
然后在您的部署中关联 configMap,就像您当前正在执行的操作一样。
推荐阅读
- javascript - 如何为 For...in 循环设置限制
- python - 为初学者使用“SCHEDULE”启动 Python 作业
- postgresql - 如何使用 pgAdmin for Postgresql 解决超时问题
- python-3.x - TypeError: add_tab() 接受 1 个位置参数,但给出了 2 个。(OneLineListItem)
- go - 有没有办法在客户端获取 TLS 握手数据?
- python - Leastsq 不适合给定的数据
- python - 使用“Runner”技术将链表的后半部分与前半部分交错
- docker - <
> Airflow2.x 中的模块命名错误 - r - 双 For 循环扫描 2 个整列
- c# - FtpWebRequest.GetResponse() 需要永远