Her*_*rch 8 logging kubernetes
我让Kubernetes在pod中设置并运行grpc服务.我成功地在服务端点击了一个端点,其中有一个print()语句,但我在日志文件中看不到任何日志.我之前在Kubernetes中运行(cron)作业时看到过这种情况,日志只在作业完成后出现(而不是在作业运行时).有没有办法让kubernetes立即写入日志文件?我可以放置的任何设置(群集级别还是仅用于pod)?在此先感谢您的帮助!
Her*_*rch 14
找到了根本原因.具体来说,发现它在Python应用程序在docker中运行分离时不会打印任何内容.解决方案是设置以下环境变量:PYTHONUNBUFFERED = 0.这不是print语句没有显示,而是print语句被缓冲了.执行上述操作将解决问题.
小智 5
这是K8S部署yaml的示例,因此您可以从上述答案中复制粘贴解决方案:
root@k8s:~/python_docker$ cat deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: hpa
spec:
selector:
matchLabels:
app: hpa
template:
metadata:
labels:
app: hpa
spec:
containers:
- name: hpa
image: my-hpa/py
env:
- name: PYTHONUNBUFFERED
value: "0"
resources:
requests:
cpu: 100m
memory: 200Mi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4800 次 |
| 最近记录: |