我是Kubernetes的新手,我试图了解这些命令。
基本上,我想做的是创建一个Tomcat部署,添加一个nfs,然后将war文件复制到tomcat webapps。
但是失败了
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webapp11-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: webapp11
spec:
volumes:
- name: www-persistent-storage
persistentVolumeClaim:
claimName: claim-webapp11
containers:
- name: webapp11-pod
image: tomcat:8.0
volumeMounts:
- name: www-persistent-storage
mountPath: /apps/build
command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps"]
ports:
- containerPort: 8080
据我所知,当映像具有命令时(例如在Tomcat映像上运行的catalina.sh),该映像将与来自kubernetes的命令发生冲突。
正确吗?
Pod启动后是否有运行命令的地方?
谢谢
答案 0 :(得分:1)
不,您想要的可能是这样的:
command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps && exec /whatever/catalina.sh"]
或者您可以将cp
移到initContainer
中,这样就不必覆盖Tomcat容器的默认命令。