kubectl logs 是一条从特定 Pod 容器中检索日志的命令,对于调试 Kubernetes 中运行的应用程序非常有用。开发人员可以使用该命令查看应用程序的输出,并根据日志信息诊断问题。
下面的示例演示了如何使用 kubectl logs 从 Pod 中的特定容器获取日志。
【代码清单】
kubectl logs my-pod -c my-container
【执行结果】
2024-08-20 10:01:00 INFO Starting application...
2024-08-20 10:01:05 INFO Application is running.
2024-08-20 10:01:10 ERROR Failed to connect to the database.
2024-08-20 10:01:15 INFO Retrying connection...
kubectl logs my-pod -c my-container 的输出会显示 Pod 中指定容器生成的日志信息。其中包括时间戳、日志级别(INFO、ERROR 等)和实际日志信息。分析这些日志有助于开发人员识别应用程序中的错误或意外行为。可以使用 --previous 等选项对日志进行过滤或进一步定制,以查看容器崩溃的前一个实例的日志。
【小知识】
当 Pod 有多个容器时,-c 标志指定容器名称。如果 Pod 只有一个容器,则可以省略该标记。
日志存储在容器的 stdout 和 stderr 流中,便于捕获应用程序输出。
你还可以在使用 kubectl logs 时使用 --follow 标记来实时流式传输日志,这对监控实时应用特别有用。