【问题标题】:Change a file in running kubernetes pod without a restart of pod在运行 kubernetes pod 中更改文件而不重新启动 pod
【发布时间】:2021-08-10 18:34:06
【问题描述】:

我正在尝试更改 logback.xml(文件)中的日志级别,该文件安装在路径(比如 A)中,使用 pod 内的 configmap 从它链接到 pod 内的其他路径(比如 B)。可以通过输入 pod - path B 并手动进行更改来实现。但我想知道是否有其他方法。是否可以更改文件并更新 configmap 以使其反映在 pod 中?或者任何其他标准方式?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您可以为此映射一个 ConfigMap。 首先,创建一个带有文件条目的 ConfigMap:

    https://kubernetes.io/docs/tasks/configure-pod-container/configmap/

    然后您可以将该 ConfigMap 作为卷挂载到您的 pod 中:

    https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#adding-configmap-data-to-a-volume

    当您的 ConfigMap 发生变化时,您的 pod 中的文件也会发生变化。

    【讨论】:

    • 是的,当前文件是使用 configmap 挂载的。我在文件中进行了必要的更改。我已经使用更改的文件删除并创建了 configmap。我也尝试过使用 kubectl apply 。它没有反映在吊舱内。应该反映吗?我做错了吗?
    • 运行 kubectl -f your-configmap.yml 将更新 pod 中的文件。尝试使用 kubectl exec -it << pod >> -- /bin/sh 连接到您的 pod 并查看文件,有时需要几秒钟,但您应该会看到您的更改。请记住,使用该文件的进程需要监视更改并根据需要重新加载到文件。
    • 感谢您的回答。但我也试过了,它没有反映在 pod 里面。仅在重新启动 pod 时才反映。我不知道出了什么问题。
    • 如何挂载卷?
    猜你喜欢
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多