Files
kuboard-press/learning/k8s-advanced/logs/basic.md
huanqing.shao b4a2a48480 Adsense
2019-10-12 20:01:03 +08:00

57 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
vssueId: 125
layout: LearningLayout
description: Kubernetes教程_本章节中您将了解到如何在 Kubernetes 中使用最基本的日志此时日志信息将输出到标准输出流standard output stream
meta:
- name: keywords
content: Kubernetes教程,K8S教程,日志,Logging
---
# 基本的日志
<AdSenseTitle/>
本章节中,您将了解到如何在 Kubernetes 中使用最基本的日志此时日志信息将输出到标准输出流standard output stream。请参考下面的例子该例子中的 Pod 包含一个容器,该容器每秒钟向标准输出写入一些文本内容:
<<< @/.vuepress/public/statics/learning/logs/counter-pod.yaml
* 执行命令
``` sh
kubectl apply -f https://kuboard.cn/statics/learning/logs/counter-pod.yaml
```
* 使用 `kubectl logs` 命令查看日志,如下所示:
``` sh
kubectl logs -f counter
```
输出结果如下所示:
```
0: Mon Jan 1 00:00:00 UTC 2001
1: Mon Jan 1 00:00:01 UTC 2001
2: Mon Jan 1 00:00:02 UTC 2001
...
```
如果容器已经崩溃停止,您可以仍然使用 `kubectl logs --previous` 获取该容器的日志,只不过需要添加参数 `--previous`。 如果 Pod 中包含多个容器,而您想要看其中某一个容器的日志,那么请在命令的最后增加容器名字作为参数。更多信息请参考 [kubectl logs](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs)。
常用的日志命令示例如下:
``` sh
# 追踪名称空间 nsA 下容器组 pod1 的日志
kubectl logs -f pod1 -n nsA
# 追踪名称空间 nsA 下容器组 pod1 中容器 container1 的日志
kubectl logs -f pod1 -c container1 -n nsA
# 查看容器组 nginx 下所有容器的日志
kubectl logs nginx --all-containers=true
# 查看带有 app=nginx 标签的所有容器组所有容器的日志
kubectl logs -lapp=nginx --all-containers=true
# 查看容器组 nginx 最近20行日志
kubectl logs --tail=20 nginx
# 查看容器组 nginx 过去1个小时的日志
kubectl logs --since=1h nginx
```