Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
kubernetes-learning
提交
e2e64e89
K
kubernetes-learning
项目概览
OpenDocCN
/
kubernetes-learning
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kubernetes-learning
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e2e64e89
编写于
3月 06, 2019
作者:
阳明的博客
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[update] 更新部分文档说明
上级
b0e5539d
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
744 addition
and
21 deletion
+744
-21
SUMMARY.md
SUMMARY.md
+8
-6
docs/52.Prometheus基本使用.md
docs/52.Prometheus基本使用.md
+15
-6
docs/62.搭建 EFK 日志系统.md
docs/62.搭建 EFK 日志系统.md
+9
-9
docs/63.Harbor.md
docs/63.Harbor.md
+712
-0
未找到文件。
SUMMARY.md
浏览文件 @
e2e64e89
...
...
@@ -54,11 +54,6 @@
*
[
PVC
](
docs/34.PVC.md
)
*
[
StorageClass
](
docs/35.StorageClass.md
)
### CI/CD:
*
[
动态 Jenkins Slave
](
docs/36.Jenkins
Slave.md)
*
[
Jenkins Pipeline 部署 Kubernetes 应用
](
docs/37.Jenkins
Pipeline.md)
*
[
Jenkins BlueOcean
](
docs/38.Jenkins
BlueOcean.md)
### 服务发现
*
[
kubedns
](
docs/39.kubedns.md
)
*
[
ingress 安装配置
](
docs/40.ingress.md
)
...
...
@@ -94,4 +89,11 @@
### 日志收集
*
[
日志收集架构
](
docs/61.日志收集架构.md
)
*
[
搭建 EFK 日志系统
](
docs/62.搭建
EFK 日志系统.md)
\ No newline at end of file
*
[
搭建 EFK 日志系统
](
docs/62.搭建
EFK 日志系统.md)
### CI/CD:
*
[
动态 Jenkins Slave
](
docs/36.Jenkins
Slave.md)
*
[
Jenkins Pipeline 部署 Kubernetes 应用
](
docs/37.Jenkins
Pipeline.md)
*
[
Jenkins BlueOcean
](
docs/38.Jenkins
BlueOcean.md)
*
[
Harbor
](
docs/63.Harbor.md
)
docs/52.Prometheus基本使用.md
浏览文件 @
e2e64e89
...
...
@@ -206,20 +206,29 @@ kind: ClusterRole
metadata
:
name
:
prometheus
rules
:
-
apiGroups
:
[
"
"
]
-
apiGroups
:
-
"
"
resources
:
-
nodes
-
services
-
endpoints
-
pods
-
nodes/proxy
verbs
:
[
"
get"
,
"
list"
,
"
watch"
]
-
apiGroups
:
[
"
"
]
verbs
:
-
get
-
list
-
watch
-
apiGroups
:
-
"
"
resources
:
-
configmaps
verbs
:
[
"
get"
]
-
nonResourceURLs
:
[
"
/metrics"
]
# 对非资源型 endpoint metrics 进行 get 操作
verbs
:
[
"
get"
]
-
nodes/metrics
verbs
:
-
get
-
nonResourceURLs
:
-
/metrics
verbs
:
-
get
---
apiVersion
:
rbac.authorization.k8s.io/v1beta1
kind
:
ClusterRoleBinding
...
...
docs/62.搭建 EFK 日志系统.md
浏览文件 @
e2e64e89
...
...
@@ -51,7 +51,7 @@ kind: Service
apiVersion
:
v1
metadata
:
name
:
elasticsearch
namespace
:
kube-
logging
namespace
:
logging
labels
:
app
:
elasticsearch
spec
:
...
...
@@ -442,7 +442,7 @@ kibana NodePort 10.105.208.253 <none> 5601:31816/TCP 2
![
kibana welcome
](
https://ws3.sinaimg.cn/large/006tNc79gy1fz9h04vmnnj316o0tktdh.jpg
)
## 部署 Fluentd
## 部署 Fluentd
`Fluentd`
是一个高效的日志聚合器,是用 Ruby 编写的,并且可以很好地扩展。对于大部分企业来说,Fluentd 足够高效并且消耗的资源相对较少,另外一个工具
`Fluent-bit`
更轻量级,占用资源更少,但是插件相对 Fluentd 来说不够丰富,所以整体来说,Fluentd 更加成熟,使用更加广泛,所以我们这里也同样使用 Fluentd 来作为日志收集工具。
### 工作原理
...
...
@@ -459,7 +459,7 @@ Fluentd 通过一组给定的数据源抓取日志数据,处理后(转换成
一般来说我们是通过一个配置文件来告诉 Fluentd 如何采集、处理数据的,下面简单和大家介绍下 Fluentd 的配置方法。
#### 日志源配置
比如我们这里为了收集 Kubernetes 节点上的所有容器日志,就需要
做如下的日志源配置:
比如我们这里为了收集 Kubernetes 节点上的所有容器日志,就需要
做如下的日志源配置:
```
<source>
...
...
@@ -829,17 +829,17 @@ Fluentd 启动成功后,我们可以前往 Kibana 的 Dashboard 页面中,
![
create index
](
https://ws3.sinaimg.cn/large/006tNc79gy1fz9nkcfrrrj31cf0u00y2.jpg
)
在这里可以配置我们需要的 Elasticsearch 索引,前面
Fluentd 配置文件中我们采集的日志使用的
是 logstash 格式,这里只需要在文本框中输入
`logstash-*`
即可匹配到 Elasticsearch 集群中的所有日志数据,然后点击下一步,进入以下页面:
在这里可以配置我们需要的 Elasticsearch 索引,前面
Fluentd 配置文件中我们采集的日志使用的
是 logstash 格式,这里只需要在文本框中输入
`logstash-*`
即可匹配到 Elasticsearch 集群中的所有日志数据,然后点击下一步,进入以下页面:
![
index config
](
https://ws2.sinaimg.cn/large/006tNc79gy1fz9noes54aj31di0u043y.jpg
)
在该页面中配置使用哪个字段按时间过滤
日志数据,在下拉列表中,选择
`@timestamp`
字段,然后点击
`Create index pattern`
,创建完成后,点击左侧导航菜单中的
`Discover`
,然后就可以
看到一些直方图和最近采集到的日志数据了:
在该页面中配置使用哪个字段按时间过滤
日志数据,在下拉列表中,选择
`@timestamp`
字段,然后点击
`Create index pattern`
,创建完成后,点击左侧导航菜单中的
`Discover`
,然后就可以
看到一些直方图和最近采集到的日志数据了:
![
log data
](
https://ws4.sinaimg.cn/large/006tNc79gy1fz9ntqiplvj31df0u04bf.jpg
)
### 测试
现在我们来
将上一节课的计数器应用部署到集群中,并在 Kibana 中来查找该日志数据。
现在我们来将上一节课的计数器应用部署到集群中,并在 Kibana 中来查找该日志数据。
新建 counter.yaml 文件,文件内容如下:
```
yaml
...
...
@@ -860,13 +860,13 @@ spec:
$
kubectl create
-f
counter.yaml
```
Pod 创建并运行后,回到 Kibana Dashboard 页面,在
上面的
`Discover`
页面搜索栏中输入
`kubernetes.pod_name:counter`
,就可以过滤 Pod 名为 counter 的日志数据:
Pod 创建并运行后,回到 Kibana Dashboard 页面,在上面的
`Discover`
页面搜索栏中输入
`kubernetes.pod_name:counter`
,就可以过滤 Pod 名为 counter 的日志数据:
![
counter log data
](
https://ws4.sinaimg.cn/large/006tNc79gy1fz9o3c5ds8j31df0u0qg5.jpg
)
我们也可以通过其他元数据来过滤日志数据,比如
您可以单击任何日志条目以查看其他元数据,如容器名称,Kubernetes 节点,命名空间等。
到这里,我们就在 Kubernetes 集群上成功部署了 EFK
,要了解如何使用 Kibana 进行日志数据分析,可以参考 Kibana 用户指南文档:
[
https://www.elastic.co/guide/en/kibana/current/index.html
](
https://www.elastic.co/guide/en/kibana/current/index.html
)
到这里,我们就在 Kubernetes 集群上成功部署了 EFK
,要了解如何使用 Kibana 进行日志数据分析,可以参考 Kibana 用户指南文档:
[
https://www.elastic.co/guide/en/kibana/current/index.html
](
https://www.elastic.co/guide/en/kibana/current/index.html
)
当然对于在生产环境上使用 Elaticsearch 或者 Fluentd,还需要结合实际的环境做一系列的优化工作,本文中涉及到的资源清单文件都可以在
[](
)找到。
当然对于在生产环境上使用 Elaticsearch 或者 Fluentd,还需要结合实际的环境做一系列的优化工作,本文中涉及到的资源清单文件都可以在
[
https://github.com/cnych/kubernetes-learning/tree/master/efkdemo
](
https://github.com/cnych/kubernetes-learning/tree/master/efkdemo
)
找到。
docs/63.Harbor.md
0 → 100644
浏览文件 @
e2e64e89
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录