【问题标题】:Changes not reflecting after pod deploymentpod 部署后未反映的更改
【发布时间】:2021-04-19 11:49:13
【问题描述】:

我正在修改我的项目中的代码,并将其部署到 kubernetes pod 中,pod 部署成功,但是我在代码中所做的最新更改在部署后没有反映,有什么想法吗?

【问题讨论】:

  • 您是否正在使用所做的这些新更改构建新的容器映像?
  • 我再次构建我的 Dockerfile 来创建镜像。更改代码后
  • 当你更改容器镜像中的所有文件时,你需要使用docker build重建镜像,如果你不这样做,kubernetes 将采用相同的镜像而不进行更改.在代码的每一次更改中,都需要一个新的构建。
  • 是的,我确实重建了,但仍然没有反映变化
  • 除此之外,请确保您的 pod 模板中的 imagePullPolicy 设置为 IfNotPresent,然后 kubelet 只会在本地计算机中不存在图像时尝试拉取图像

标签: docker kubernetes deployment


【解决方案1】:

当您更改将构建到容器中的应用程序中的代码时,您必须执行以下操作:

  1. 使用最新更改重建您的映像(例如,通过 docker build ...
  2. 将图像推送到您的注册表(例如通过docker push ...
  3. 使用新的容器版本(字段spec.containers.image)更新您的清单,或者如果它具有相同的版本/标签,请确保您将imagePullPolicy 设置为Always
  4. 如果您的清单没有更改(例如,因为标签保持不变),您需要在部署中触发部署或手动删除您的 Pod,以确保它再次拉取映像并采用最新的更改。

如果您正在运行 Web 应用程序,您可能需要清理浏览器缓存并重新加载所有资源 (Shift + F5)

【讨论】:

  • @SvDhote 这对您有帮助吗?
猜你喜欢
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
  • 2016-09-26
  • 2019-11-11
  • 2021-09-21
相关资源
最近更新 更多