我在kubernetes上部署了一个不和谐的机器人。它被构建到docker镜像中,然后我将其部署到k8s。
Dockerfile
FROM python:3.7
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
ENV PYTHONUNBUFFERED=0
CMD ["python", "-u", "main.py"]
deployment.yml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: pythonapp
labels:
app: pythonapp
spec:
replicas: 1
selector:
matchLabels:
app: pythonapp
template:
metadata:
labels:
app: pythonapp
spec:
containers:
- name: pythonapp
image: registry.example.com/pythonapp:latest
imagePullPolicy: Always
env:
- name: PYTHONUNBUFFERED
value: "0"
当我部署它时,程序运行得很好。但是当我去查看pod的日志时,它显示的是The selected container has not logged any messages yet.
。
我如何让我在python中print()
的任何东西被记录到kubernetes pod中?
发布于 2019-11-14 19:21:37
如果您想立即显示日志消息,而不想先缓冲,则必须将PYTHONUNBUFFERED
设置为1
。
https://stackoverflow.com/questions/58855490
复制相似问题