kubectl cp 用于配置文件和 pod 销毁

kubectl cp for config files and pod destruction

我们在 K8s (EKS) 环境中的一些服务使用配置文件来驱动功能,因此我们不必每次都重新部署整个图像。使用 kubectl cp 命令允许我们将新的配置文件复制到 pod。因此命令 kubectl cp settings.json myapi-76dc75f47c-lkvdm:/app/settings.json 将新的 settings.json 文件复制到 pod。

为了好玩,我删除了 pod,k8s 使用旧的 settings.json 文件成功地重新创建了它。有人知道在 pod 被破坏时保留新 settings.json 文件的方法吗?有没有办法在不重新部署映像的情况下更新部署?

谢谢,蒂姆

将配置文件存储在 ConfigMap 中,并将 ConfigMap 挂载到 Deployment 的 pod 模板。当文件需要更新时,可以:

  1. Re-create ConfigMap(kubectl delete 然后 kubectl create --from-file)
  2. 或者使用
  3. 中的“dry-run kubectl create piped into kubectl replace”技术