Kubernetes:使 pod 目录可写
Kubernetes: make pod directory writable
我有 docker 图像,里面有配置文件夹。
Logback.xml 位于那里。
所以我希望能够更改 pod 中的 logback.xml(例如动态地提高日志级别)
首先,我想过使用 epmtyDir 卷,但是这个东西重写了目录,它变成了空的。
那么是否有一些简单的方法可以使目录可写到 pod 中?
你好,希望你享受你的 kubernetes 之旅,如果我理解,你希望在 pod 中有一个文件并能够在需要时修改它,
这里你需要的是根据你的 logback.xml 文件创建一个 configmap(可以用命令式或声明式的 kubernetes 配置来完成,这里是命令式的:
kubectl create configmap logback --from-file logback.xml
在此之后,只需在您的 deployment/pod yaml 清单中使用 volume 和 volumeMount 子路径将这个文件挂载到您的目录位置:
...
volumeMounts:
- name: "logback"
mountPath: "/CONFIG_FOLDER/logback.xml"
subPath: "logback.xml"
volumes:
- name: "logback"
configMap:
name: "logback"
...
在此之后,您将能够修改您的 logback.xml 配置,方法是编辑/重新创建配置映射并重新启动您的 pod。
但是,请记住:
1:pod 文件不应该被即时修改,这违背了容器理念(参见 Pet vs Cattle)
2:但是,根据您的容器镜像用户权限,所有 pods 目录都可以写入...
我有 docker 图像,里面有配置文件夹。 Logback.xml 位于那里。 所以我希望能够更改 pod 中的 logback.xml(例如动态地提高日志级别) 首先,我想过使用 epmtyDir 卷,但是这个东西重写了目录,它变成了空的。 那么是否有一些简单的方法可以使目录可写到 pod 中?
你好,希望你享受你的 kubernetes 之旅,如果我理解,你希望在 pod 中有一个文件并能够在需要时修改它,
这里你需要的是根据你的 logback.xml 文件创建一个 configmap(可以用命令式或声明式的 kubernetes 配置来完成,这里是命令式的:
kubectl create configmap logback --from-file logback.xml
在此之后,只需在您的 deployment/pod yaml 清单中使用 volume 和 volumeMount 子路径将这个文件挂载到您的目录位置:
...
volumeMounts:
- name: "logback"
mountPath: "/CONFIG_FOLDER/logback.xml"
subPath: "logback.xml"
volumes:
- name: "logback"
configMap:
name: "logback"
...
在此之后,您将能够修改您的 logback.xml 配置,方法是编辑/重新创建配置映射并重新启动您的 pod。
但是,请记住:
1:pod 文件不应该被即时修改,这违背了容器理念(参见 Pet vs Cattle)
2:但是,根据您的容器镜像用户权限,所有 pods 目录都可以写入...