Pod内包含两个容器:tomcat和busybox,在Pod级别设置Volume“app-logs”,用于tomcat向其中写日志文件,busybox读取日志文件配置文件pod-volume-applogs.yaml
apiVersion: v1
kind: Pod
metadata:
  name: volume-pod
spec:
  containers:
  - name: tomcat
    image: tomcat
    ports:
    - containerPort: 8080
    volumeMounts:
    - name: app-logs
      mountPath: /usr/local/tomcat/logs
  - name: busybox
    image: busybox
    command: ["sh","-c","tail -f /logs/catalina*.log"]
    volumeMounts:
    - name: app-logs
      mountPath: /logs
  volumes:
  - name: app-logs
    emptyDir: {}这里设置的Volume名为app-logs,类型为emptyDir,挂载到tomcat容器内/usr/local/tomcat/logs目录同时挂载到busybox容器内的/logs目录。查询pod状态:
kubectl get pod -n default -o wide
会发现busybox容器error了,来查看一下日志:
#kubectl logs pod/volume-pod -c busybox
出现如下提示:tail: can't open '/logs/catalina.out*.log': No such file or directory
tail: no files
请问,这边是什么问题呢?
我猜测可能是因为busybox的容器先启动,然后tomcat启动慢导致没找到文件,但是pod中并没有关于容器启动顺序的配置。
求指点!