Kubernetes - 装载容器stdout stderr日志


撩心
2025-01-04 05:26:41 (1月前)
  1. 我使用“chentex / random-logger”映像,它将stdout / stderr写入容器。我想进行部署yaml,它运行chentex的映像,并将其日志放在共享卷中的文件中。我可不可以做 ...

2 条回复
  1. 0# My☀ | 2019-08-31 10-32



    最好将日志消息发送到

    stdout

    对于在容器中运行的应用程序该

    chentex/random-logger

    只是

    遵循这种方法

    没有任何选项来配置它,但我们可以提出这样的黑客:




    1. apiVersion: apps/v1
      kind: Deployment
      metadata:
      name: random-logger
      spec:
      selector:
      matchLabels:
      app: random-logger
      template:
      metadata:
      labels:
      app: random-logger
      spec:
      containers:

    2.   - name: random-logger
    3.     image: chentex/random-logger:latest
    4.     command: ["sh", "-c",  "./entrypoint.sh &> /logfile"]
    5. </code>


    从运行中请求日志时

    pod

    没有什么可看的:




    1. $ kubectl logs random-logger-76c6fd98d5-8d5fm

    2. </code>


    应用程序日志将写入

    logfile

    在容器内:




    1. $ 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.

    2. </code>


    尽管这是可能的,但通常不建议这样做。请参阅Kubernetes文档

    记录架构

    了解更多背景信息。


登录 后才能参与评论