kubernetes部署Pod和python文件启动
如果按照我注释的方式执行,tomcat将无法正常工作,因为python服务器在tomcat成功之前已经运行kubernetes部署Pod和python文件启动,kubernetes,rancher,kubernetes-deployment,Kubernetes,Rancher,Kubernetes Deployment,如果按照我注释的方式执行,tomcat将无法正常工作,因为python服务器在tomcat成功之前已经运行 在kubernetes环境中使用yaml文件部署tomcat conatiner,如果tomcat正常成功,我想运行python文件。我该怎么办?您可以使用sleep命令延迟testserver启动 一个更为奇特的解决方案是可行的 apiVersion: v1 kind: Pod metadata: name: test labels: app: test-pod spec
在kubernetes环境中使用yaml文件部署tomcat conatiner,如果tomcat正常成功,我想运行python文件。我该怎么办?您可以使用sleep命令延迟testserver启动 一个更为奇特的解决方案是可行的
apiVersion: v1
kind: Pod
metadata:
name: test
labels:
app: test-pod
spec:
containers:
- name: testserver
image: test_server:2.5
ports:
- containerPort: 8080
- containerPort: 5100
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- name: testserver
mountPath: /app/test/csv
# command: ["/bin/bash"]
# args: ["-c", "python /app/api/Python_Rest.py"]
- name: testdb
image: lev_test_db:1.4
ports:
- containerPort: 1433
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- name: testdb
mountPath: /var/opt/mssql/data
volumes:
- name: testserver
hostPath:
path: /usr/testhostpath/testserver
- name: levmldb
hostPath:
path: /usr/testhostpath/testdb
第一个想法:在python启动之前添加一个sleep命令。。。也许有一种更复杂的方法可以让python等待tomcat启动;然后Python Pod可以退出并重新启动,直到Tomcat Pod启动并运行。您还应该考虑除代码> >主机路径< /Comp>卷之外的其他存储,当POD在不同的No.Python和Tomcat共享一个物理目录时,它们可能会被放错位置,它们试图在同一个POD中运行。谢谢你,我试过了,但我错了。命令:#args:[“-c”,“python/app/levml/api/test_Rest.py”]#args:[“-c”,“nohup python/app/levml/api/test_Rest.py&”]-sleep-100生命周期:postStart:exec:command:-“sh”-“-c”-|“python/app/api/test Rest.py”更新了我的答案,补充quotes@IronJo有什么进展吗?@WytrzymałyWiktor仍在解决中你这是什么意思?你还看到同样的错误吗?
command:
- "sleep"
- "100"
lifecycle:
postStart:
exec:
command:
- "sh"
- "-c"
- |
python /app/api/Python_Rest.py