Skip to content

Instantly share code, notes, and snippets.

@resouer
Last active March 13, 2023 08:40
Show Gist options
  • Save resouer/378bcdaef1d9601ed6aa to your computer and use it in GitHub Desktop.
Save resouer/378bcdaef1d9601ed6aa to your computer and use it in GitHub Desktop.
How to implement volumes-from in Kubernetes Pod?
---
apiVersion: v1
kind: Pod
metadata:
name: server
spec:
containers:
- image: resouer/sample:v2
name: war
lifecycle:
postStart:
exec:
command:
- "cp"
- "/sample.war"
- "/app"
volumeMounts:
- mountPath: /app
name: hostv1
- name: peer
image: busybox
command: ["tail", "-f", "/dev/null"]
volumeMounts:
- name: hostv2
mountPath: /app/sample.war
volumes:
- name: hostv1
hostPath:
path: /tmp
- name: hostv2
hostPath:
path: /tmp/sample.war
@resouer
Copy link
Author

resouer commented Apr 9, 2016

@akamanocha It works well in your case. Just make sure that Tomcat can automatically load your wars, otherwise you need to restart it manually.

@derekmahar
Copy link

Keep the side car alive so that it doesn't get restarted. This could also be implemented
with pause.
Note: This won't be necessary when per-pod restart policies are implemented
while true; do sleep 10; done

@kjvalencik What do you mean by "pause"? Java Web Application with Tomcat and Sidercar Container keeps its sidecar container alive by invoking tail -f /dev/null.

@resouer
Copy link
Author

resouer commented Nov 3, 2016

Guys, this can be solved more elegant by using initContainer, see my update in the original answer: http://stackoverflow.com/questions/30538210/how-to-mimic-volumes-from-in-kubernetes/33118902#33118902

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment