【发布时间】:2021-02-11 17:13:59
【问题描述】:
我有一个旧版应用程序,它会不断检查目录中的空文件,并在文件时间戳更改时执行某些操作。
我正在将此应用程序迁移到 Kubernetes,因此我想在 pod 中创建一个空文件。我尝试了像下面这样的子路径,但它没有创建任何文件。
apiVersion: v1
kind: Pod
metadata:
name: demo-pod
spec:
containers:
- name: demo
image: alpine
command: ["sleep", "3600"]
volumeMounts:
- name: volume-name
mountPath: '/volume-name-path'
subPath: emptyFile
volumes:
- name: volume-name
emptyDir: {}
描述 pod 节目
Containers:
demo:
Container ID: containerd://0b824265e96d75c5f77918326195d6029e22d17478ac54329deb47866bf8192d
Image: alpine
Image ID: docker.io/library/alpine@sha256:08d6ca16c60fe7490c03d10dc339d9fd8ea67c6466dea8d558526b1330a85930
Port: <none>
Host Port: <none>
Command:
sleep
3600
State: Running
Started: Wed, 10 Feb 2021 12:23:43 -0800
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-4gp4x (ro)
/volume-name-path from volume-name (rw,path="emptyFile")
卷上的 ls 也没有显示任何内容。
k8 exec -it demo-pod -c demo ls /volume-name-path
有什么建议吗??
PS:我不想使用 ConfigMap,只想创建一个空文件。
【问题讨论】:
-
如果您只想在 Pod 启动时创建此文件,那么您可以简单地使用一个 bash 入口点,在启动应用程序之前执行它?
-
@AndD 对不起,我不明白。我希望这个文件存在,即使它在 pod 启动几秒钟后存在也可以。