在 Kubernetes 上复制命令崩溃 pod 启动
Copy command crash pod startup on Kubernetes
我是 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 运行,它会与来自命令的命令发生冲突库伯内特斯
对吗?
pod 启动后有没有要 运行 的命令?
谢谢
不,你想要的大概是这样的:
command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps && exec /whatever/catalina.sh"]
或者您可以将 cp
移动到 initContainer
中,这样您就不必覆盖 Tomcat 容器的默认命令。
我是 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 运行,它会与来自命令的命令发生冲突库伯内特斯
对吗?
pod 启动后有没有要 运行 的命令?
谢谢
不,你想要的大概是这样的:
command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps && exec /whatever/catalina.sh"]
或者您可以将 cp
移动到 initContainer
中,这样您就不必覆盖 Tomcat 容器的默认命令。