From 1d521351d301dde08f1596b021efbfb41e12dd00 Mon Sep 17 00:00:00 2001 From: "huanqing.shao" Date: Wed, 9 Oct 2019 23:38:46 +0800 Subject: [PATCH] logging --- .vuepress/config.js | 2 + .vuepress/public/images/search.svg | 1 + .../learning/logs/counter-sidecar-pod.yaml | 38 +++ .vuepress/theme/components/BdSearchBox.vue | 283 ++++++++++++++++++ .vuepress/theme/components/Navbar.vue | 1 + .vuepress/theme/components/PageVssue.vue | 14 + .vuepress/theme/layouts/Layout.vue | 14 - .vuepress/theme/layouts/LearningLayout.vue | 14 - .vuepress/theme/search.svg | 1 + README.md | 2 +- .../logging-from-application.png | Bin 0 -> 19696 bytes .../logging-with-node-agent.png | Bin 0 -> 38071 bytes .../logging-with-sidecar-agent.png | Bin 0 -> 25512 bytes .../logging-with-streaming-sidecar.png | Bin 0 -> 51146 bytes learning/k8s-advanced/logs/cluster.md | 207 ++++++++++++- overview/README.md | 2 +- overview/k8s-core-concepts.md | 2 +- overview/why-kuboard.md | 2 +- 18 files changed, 550 insertions(+), 33 deletions(-) create mode 100644 .vuepress/public/images/search.svg create mode 100644 .vuepress/public/statics/learning/logs/counter-sidecar-pod.yaml create mode 100644 .vuepress/theme/components/BdSearchBox.vue create mode 100644 .vuepress/theme/search.svg create mode 100644 learning/k8s-advanced/logs/cluster.assets/logging-from-application.png create mode 100644 learning/k8s-advanced/logs/cluster.assets/logging-with-node-agent.png create mode 100644 learning/k8s-advanced/logs/cluster.assets/logging-with-sidecar-agent.png create mode 100644 learning/k8s-advanced/logs/cluster.assets/logging-with-streaming-sidecar.png diff --git a/.vuepress/config.js b/.vuepress/config.js index 1ac0558..13a3e26 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -19,6 +19,8 @@ module.exports = { ['link', {rel: "stylesheet", href: "/java-script-dist/swiper-4.5.0/css/swiper.min.css"}], ['script', {src: '/java-script-dist/swiper-4.5.0/js/swiper.min.js'}], // ['script', {type: 'text/javascript', src: 'https://tajs.qq.com/stats?sId=66467492', charset: 'UTF-8'}] + ['script', { 'data-ad-client': "ca-pub-3313149841665250", async: true, src: "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"}], + // ], markdown: { toc: { includeLevel: [2, 3] }, diff --git a/.vuepress/public/images/search.svg b/.vuepress/public/images/search.svg new file mode 100644 index 0000000..03d8391 --- /dev/null +++ b/.vuepress/public/images/search.svg @@ -0,0 +1 @@ + diff --git a/.vuepress/public/statics/learning/logs/counter-sidecar-pod.yaml b/.vuepress/public/statics/learning/logs/counter-sidecar-pod.yaml new file mode 100644 index 0000000..87bd198 --- /dev/null +++ b/.vuepress/public/statics/learning/logs/counter-sidecar-pod.yaml @@ -0,0 +1,38 @@ +apiVersion: v1 +kind: Pod +metadata: + name: counter +spec: + containers: + - name: count + image: busybox + args: + - /bin/sh + - -c + - > + i=0; + while true; + do + echo "$i: $(date)" >> /var/log/1.log; + echo "$(date) INFO $i" >> /var/log/2.log; + i=$((i+1)); + sleep 1; + done + volumeMounts: + - name: varlog + mountPath: /var/log + - name: count-log-1 + image: busybox + args: [/bin/sh, -c, 'tail -n+1 -f /var/log/1.log'] + volumeMounts: + - name: varlog + mountPath: /var/log + - name: count-log-2 + image: busybox + args: [/bin/sh, -c, 'tail -n+1 -f /var/log/2.log'] + volumeMounts: + - name: varlog + mountPath: /var/log + volumes: + - name: varlog + emptyDir: {} diff --git a/.vuepress/theme/components/BdSearchBox.vue b/.vuepress/theme/components/BdSearchBox.vue new file mode 100644 index 0000000..e1d8342 --- /dev/null +++ b/.vuepress/theme/components/BdSearchBox.vue @@ -0,0 +1,283 @@ + + + + + diff --git a/.vuepress/theme/components/Navbar.vue b/.vuepress/theme/components/Navbar.vue index 883d498..1f62eb3 100644 --- a/.vuepress/theme/components/Navbar.vue +++ b/.vuepress/theme/components/Navbar.vue @@ -50,6 +50,7 @@ diff --git a/.vuepress/theme/layouts/Layout.vue b/.vuepress/theme/layouts/Layout.vue index df85272..153531e 100644 --- a/.vuepress/theme/layouts/Layout.vue +++ b/.vuepress/theme/layouts/Layout.vue @@ -31,20 +31,6 @@
Copyright © 2019-present 邵欢庆 仁聚汇通 | 京ICP备19008693号-2 -
diff --git a/.vuepress/theme/layouts/LearningLayout.vue b/.vuepress/theme/layouts/LearningLayout.vue index 5b84d97..9a4a86d 100644 --- a/.vuepress/theme/layouts/LearningLayout.vue +++ b/.vuepress/theme/layouts/LearningLayout.vue @@ -46,20 +46,6 @@
Copyright © 2019-present 邵欢庆 仁聚汇通 | 京ICP备19008693号-2 -
diff --git a/.vuepress/theme/search.svg b/.vuepress/theme/search.svg new file mode 100644 index 0000000..03d8391 --- /dev/null +++ b/.vuepress/theme/search.svg @@ -0,0 +1 @@ + diff --git a/README.md b/README.md index 4805f84..13ae36e 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ features: link: /learning/k8s-practice/ocp --- -## 简介 +# Kuboard简介 Kuboard 是一款基于 Kubernetes 的微服务管理界面。 diff --git a/learning/k8s-advanced/logs/cluster.assets/logging-from-application.png b/learning/k8s-advanced/logs/cluster.assets/logging-from-application.png new file mode 100644 index 0000000000000000000000000000000000000000..67dfd9db927e35d2a750a45355a5d79801e4b8a2 GIT binary patch literal 19696 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%0A`i>n^6jVue+R02ubI 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 literal 0 HcmV?d00001 diff --git a/learning/k8s-advanced/logs/cluster.assets/logging-with-streaming-sidecar.png b/learning/k8s-advanced/logs/cluster.assets/logging-with-streaming-sidecar.png new file mode 100644 index 0000000000000000000000000000000000000000..cc9fd0d9fbaa188bba1ed96cc5f95618a617b330 GIT binary patch literal 51146 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 Cq$XYf literal 0 HcmV?d00001 diff --git a/learning/k8s-advanced/logs/cluster.md b/learning/k8s-advanced/logs/cluster.md index d251a01..73b138d 100644 --- a/learning/k8s-advanced/logs/cluster.md +++ b/learning/k8s-advanced/logs/cluster.md @@ -9,4 +9,209 @@ meta: # 集群级别的日志 -正在撰写... +Kubernetes 中并不默认提供集群级别的日志,不过,有许多种途径可以和集群级别的日志整合。例如: +* 在每个节点上配置日志代理 +* 在应用程序的 Pod 中包含一个专门用于收集日志的 sidecar 容器 +* 从应用程序中直接推送日志到日志存储端 + + + +## 在节点上配置日志代理 + +![Kubernetes教程_在节点上配置日志代理](./cluster.assets/logging-with-node-agent.png) + +如上图所示,通过在每个节点上配置一个节点级别的 logging-agent,您就可以实现集群级别的日志(cluster-level logging)。该 logging-agent 专门用来将节点上的日志文件中的日志推送到日志的后端存储。在 [节点日志的存储](./node.html#日志存储) 中,我们已经了解到,所有应用程序的标准输出都被使用 docker 的 [logging driver](https://docs.docker.com/engine/admin/logging/overview) 存储到了节点的 `/var/log/containers` 目录下(K8S 的默认配置)。因此,节点级别的 logging-agent 应该能够将该目录下的日志文件发送到日志后端。[系统组件的日志](./node.html#系统组件的日志) 可以考虑一下是否要推送到日志后端。 + +logging-agent 必须运行在每一个节点上,可以选择的实现方式有: +* DaemonSet 推荐 +* Static Pod Deprecated +* 节点上的一个原生进程 Deprecated。 + +对于 Kubernetes 集群来说,使用节点级别的 logging-agent 实现集群级别的日志(cluster-level logging)是使用最广泛也最为推荐的一种做法,因为这种做法只为每个节点创建了一个 logging-agent,且无需对节点上的容器化应用程序做任何修改。当然,只有当应用程序使用 stdout 和 stderr 记录日志时,节点级别的 logging-agent 才能生效。Kubernetes 默认安装并不指定 logging-agent,但是Kubernetes默认打包了两种 logging-agent 以供选择: +* [Stackdriver Logging](https://kubernetes.io/docs/user-guide/logging/stackdriver) 配合 Google Cloud Platform +* [Elasticsearch](https://kubernetes.io/docs/user-guide/logging/elasticsearch) + + + +这两个选项都使用自定义配置了的 [fluentd](http://www.fluentd.org/) 作为节点上的 logging-agent。 + +## 在 sidecar 容器中配置 logging-agent + +您可以按照如下方式使用 sidecar 容器,以收集日志: +* sidecar 容器跟踪应用程序的日志文件,并输出到 sidecar 容器自己的 stdout +* sidecar 容器运行一个 logging-agent,追踪应用程序的日志文件,并发送到日志后端 + +### sidecar输出到stdout + +![Kubernetes教程_集群级别的日志_从sidecar输出到stdout](./cluster.assets/logging-with-streaming-sidecar.png) + +使用 sidecar 容器将应用程序的日志输出到 sidecar 容器自己的 `stdout` 和 `stderr` 之后,您可以直接利用已经在集群上运行的 kubelet 以及节点级别的 logging-agent 进一步将日志发送到日志后端。此时 sidecar 容器可以从日志文件读取、socket读取或者 journald 读取日志内容,其输出则是 sidecar 容器自己的 `stdout` 和 `stderr`。 + +使用这种方法: +* 您只需要对那些不能将日志输出到 `stdout` 和 `stderr` 的应用程序进行特殊配置即可,那些已经可以将日志输出到 `stdout` 和 `stderr` 的应用程序,则可以直接利用节点级别的 logging-agent。 +* 由于重定向日志的逻辑非常简单,这种做法所带来的系统开销也是非常小的。 +* 此外,`stdout` 和 `stderr` 由 kubelet 处理,您还可以直接使用支持 apiserver 的 kubernetes 管理工具来查看日志,例如 `kubectl logs`、Kubernetes Dashboard 或 Kuboard 的日志查看界面。 + +以下面的例子为例,该 Pod 中的容器将日志记录到两个日志文件中,且两个日志文件的日志格式不一样。YAML 文件如下所示: + +``` yaml +apiVersion: v1 +kind: Pod +metadata: + name: counter +spec: + containers: + - name: count + image: busybox + args: + - /bin/sh + - -c + - > + i=0; + while true; + do + echo "$i: $(date)" >> /var/log/1.log; + echo "$(date) INFO $i" >> /var/log/2.log; + i=$((i+1)); + sleep 1; + done + volumeMounts: + - name: varlog + mountPath: /var/log + volumes: + - name: varlog + emptyDir: {} +``` + +如果将两个日志文件中完全不同的日志格式都通过一个 sidecar 容器重定向到其 `stdout` 中,最终的结果将非常混乱,你很难正确地对日志内容进行合适的处理。此时,可以考虑用两个 sidecar 容器,每个 sidecar 容器都追踪其中一个日志文件,并将日志重定向到各自的 `stdout` 中。 + +<<< @/.vuepress/public/statics/learning/logs/counter-sidecar-pod.yaml + +* 执行如下命令以运行该 Pod + + ``` sh + kubectl apply -f https://kuboard.cn/statics/learning/logs/counter-sidecar-pod.yaml + ``` + +* 此时,您可以通过不同的两个容器的 `stdout` 查看到想要追踪的日志文件: + + 查看第一个日志内容 + ``` sh + #执行命令 + kubectl logs conter count-log-1 + # 输出结果如下 + 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 + ... + ``` + 查看第二个日志内容 + ``` sh + # 执行命令 + kubectl logs counter count-log-2 + # 输出结果如下 + Mon Jan 1 00:00:00 UTC 2001 INFO 0 + Mon Jan 1 00:00:01 UTC 2001 INFO 1 + Mon Jan 1 00:00:02 UTC 2001 INFO 2 + ... + ``` + +此时,在无需额外配置的情况下,节点级别的 logging-agent 将自动把这些容器标准输出中的内容发送到您的日志后端。如果有必要,您也可以按照容器的不同使用不同的日志解析方法配置节点级别的 logging-agent。 + +::: tip 注意 +尽管 `logging-agent` sidecar 容器只消耗很少的 CPU 和内存(大概千分之几个 CPU 内核和几兆内存的样子),将日志写入文件,然后重定向到 `stdout`,此时再被容器引擎写入到 `/var/log/containers` 目录,这种做法仍然会消耗双倍的磁盘空间。如果您的应用程序将日志写入一个单一的文件中,更好的做法是使用 `/dev/stdout` 作为写入日志的目标,而不是使用 sidecar 容器重定向日志的方法 +::: + +如果应用程序不能自行轮转日志文件,Sidecar 容器也可以用来轮转日志文件。例如,在一个 sidecar 容器中周期性的运行 logrotate 程序。不过,更好的办法是,直接将日志输出到 `stdout` 和 `stderr`,把日志轮转和日志保存的策略配置,交给 kubelet。 + +### sidecar容器中执行 logging-agent + +![Kubernetes教程_集群级别的日志_从sidecar使用logging-agent](./cluster.assets/logging-with-sidecar-agent.png) + +如果节点级别的 logging-agent 不满足您的需要,您还可以考虑创建一个 sidecar 容器,并直接在该容器中运行一个为您的应用程序特别定制的 logging-agent。 + +::: tip 注意 +在 sidecar 容器中使用 logging-agent 可能消耗比较多的资源。此外,您也不能够使用 `kubectl logs `命令或者 Kuboard 的命令行终端查看这些日志,因为这个已经不受 kubelet 控制了。 +::: + +下面的例子中,使用了 [Stackdriver](https://kubernetes.io/docs/tasks/debug-application-cluster/logging-stackdriver/),并配合 fluentd 作为 logging-agent。本例子提供了两个配置文件: +* 第一个文件中包含了用于配置 fluentd 的内容 + ``` yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: fluentd-config + data: + fluentd.conf: | + + type tail + format none + path /var/log/1.log + pos_file /var/log/1.log.pos + tag count.format1 + + + + type tail + format none + path /var/log/2.log + pos_file /var/log/2.log.pos + tag count.format2 + + + + type google_cloud + + ``` +* 第二个文件是一个使用 fluentd 作为 sidecar 容器的 Pod。该 Pod 挂载了上面的 ConfigMap 作为一个数据卷,fluentd 从该数据卷读取配置: + ``` yaml + apiVersion: v1 + kind: Pod + metadata: + name: counter + spec: + containers: + - name: count + image: busybox + args: + - /bin/sh + - -c + - > + i=0; + while true; + do + echo "$i: $(date)" >> /var/log/1.log; + echo "$(date) INFO $i" >> /var/log/2.log; + i=$((i+1)); + sleep 1; + done + volumeMounts: + - name: varlog + mountPath: /var/log + - name: count-agent + image: k8s.gcr.io/fluentd-gcp:1.30 + env: + - name: FLUENTD_ARGS + value: -c /etc/fluentd-config/fluentd.conf + volumeMounts: + - name: varlog + mountPath: /var/log + - name: config-volume + mountPath: /etc/fluentd-config + volumes: + - name: varlog + emptyDir: {} + - name: config-volume + configMap: + name: fluentd-config + ``` + +::: tip +这个例子中使用了 Stackdriver 和 fluentd-gcp 容器,都依赖于 Google Computing Platform。实际在您的使用过程中,应该替换成您所需要的 logging-agent。 +::: + +## 直接从应用程序容器发送日志到后端 + +![Kubernetes教程_集群级别的日志_从sidecar发送日志到后端](./cluster.assets/logging-from-application.png) + +要实现集群级别的日志,您也可以直接在每一个应用程序中将日志发送到日志后端,这种做法是 kubernetes 范围之外的,按照您通常的日志处理办法去做就可以了。 diff --git a/overview/README.md b/overview/README.md index 5cca57c..fcd3b09 100644 --- a/overview/README.md +++ b/overview/README.md @@ -6,7 +6,7 @@ meta: content: Kubernetes管理界面,K8S管理界面,Kubernetes Dashboard --- -## Kuboard简介 +# Kuboard简介
diff --git a/overview/k8s-core-concepts.md b/overview/k8s-core-concepts.md index 79f34f9..b8c0ddc 100644 --- a/overview/k8s-core-concepts.md +++ b/overview/k8s-core-concepts.md @@ -1,5 +1,5 @@ --- -description: Kubernetes教程_以gif动图的形式形象的描述Kubernetes核心概念_本文将会简单介绍Kubernetes的核心概念_因为这些定义可以在Kubernetes的文档中找到_所以文章也会避免用大段的枯燥的文字介绍。相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概念。我们发现一些概念(比如Service)如果没有图表的辅助就很难全面地理解。在合适的地方我们也会提供Kubernetes文档的链接以便读者深入学习。 +description: Kubernetes教程_以gif动图的形式形象的描述Kubernetes核心概念_本文将会简单介绍Kubernetes的核心概念_因为这些定义可以在Kubernetes的文档中找到_所以文章也会避免用大段的枯燥的文字介绍。相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概念。 --- # 十分钟带你理解Kubernetes核心概念 diff --git a/overview/why-kuboard.md b/overview/why-kuboard.md index 0912c7e..41432fb 100644 --- a/overview/why-kuboard.md +++ b/overview/why-kuboard.md @@ -6,7 +6,7 @@ meta: content: Kubernetes管理界面,K8S教程,Kubernetes教程,K8S管理界面 --- -## 为什么选择Kuboard +# 为什么选择Kuboard Kubernetes 已然是当下容器编排领域事实上的标准,各大云服务商都急于推出 Kubernetes 服务,互联网公司也纷纷跟进,将自己的应用容器化,并使用 Kubernetes 编排。