k8s pod container python log print延迟输出问题
问题背景:使用k8s-job-pod-container时 python的print总是在程序退出时打印,导致无法实时获取容器的日志。解决方案:这是因为stdout和stderr流在Python中进行了缓冲。您可以将环境变量设置为PYTHONUNBUFFERED=1或True我启动容器是 kubectl create -f xxx.kml 的方式启动job所以我只需要修改kml文件即可在容器的en
·
问题背景:使用k8s-job-pod-container时 python的print总是在程序退出时打印,导致无法实时获取容器的日志。
解决方案:
这是因为stdout和stderr流在Python中进行了缓冲。
您可以将环境变量设置为PYTHONUNBUFFERED=1
或True
我启动容器是 kubectl create -f xxx.yaml 的方式启动job
所以我只需要修改yaml文件即可
在容器的env参数中 添加 PYTHONUNBUFFERED=“1”
apiVersion: batch/v1
kind: Job
metadata:
name: "$container_id"
spec:
completions: 1
template: # as the same in pod.yaml
metadata:
labels:
name: "$container_id"
spec:
restartPolicy: Never
containers: # describe how to start this container and set the env and volume
- name: wind-auto-analy
image:
imagePullPolicy: IfNotPresent
env:
- name: PYTHONUNBUFFERED
value: "1"
ports:
- containerPort: 8006
更多推荐
已为社区贡献9条内容
所有评论(0)