最好将日志消息发送到
stdout
对于在容器中运行的应用程序该
chentex/random-logger
只是
遵循这种方法
没有任何选项来配置它,但我们可以提出这样的黑客:
apiVersion: apps/v1
kind: Deployment
metadata:
name: random-logger
spec:
selector:
matchLabels:
app: random-logger
template:
metadata:
labels:
app: random-logger
spec:
containers:
- name: random-logger
image: chentex/random-logger:latest
command: ["sh", "-c", "./entrypoint.sh &> /logfile"]
</code>
从运行中请求日志时
pod
没有什么可看的:
$ kubectl logs random-logger-76c6fd98d5-8d5fm
</code>
应用程序日志将写入
logfile
在容器内:
$ kubectl exec random-logger-76c6fd98d5-8d5fm cat /logfile
2019-02-28T00:23:23+0000 DEBUG first loop completed.
2019-02-28T00:23:25+0000 ERROR something happened in this execution.
2019-02-28T00:23:29+0000 INFO takes the value and converts it to string.
2019-02-28T00:23:31+0000 WARN variable not in use.
2019-02-28T00:23:37+0000 INFO takes the value and converts it to string.
</code>
尽管这是可能的,但通常不建议这样做。请参阅Kubernetes文档
记录架构
了解更多背景信息。