问题

最近在 k8s 中发布项目的时候出现了这样一个问题,当时我在项目(要发布的项目)对应的 YAML 文件中增加了几个环境变量(项目中需要用到的),通过对该项目对应的 Deployment 资源的环境变量 DEPLOY_TAG 的修改,达到重新部署项目的目的。由于项目启动的时候,有一段逻辑是要对新增加的环境变量进行处理,结果这段逻辑报错,提示信息为环境变量的值为空。

原因

我修改的是 Deployment 对应的 YAML 文件(加入新增的环境变量),而重新发布的时候是通过直接修改 k8s 中的 Deployment 资源的环境变量(kubectl set env deploy …),k8s 中的 Deployment 资源并不知道我在YAML 文件中做的修改,所以即便重启,也不会有任何效果。

解决

最简单、直接、暴力的方案,就是删除正在运行的 Deployment,然后依据已修改的 YAML 文件建立一个新的Deployment。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐