监控套件、CICD

This commit is contained in:
huanqing.shao
2019-11-24 22:52:09 +08:00
parent bcb610ffca
commit a296ea4821
24 changed files with 317 additions and 13 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

128
guide/addon/README.md Normal file
View File

@ -0,0 +1,128 @@
---
vssueId: 168
# sharingTitle:
lessAds: true
description: Kubernetes教程_目前比较流行的Kubernetes包管理器是helm_其仓库中已经拥有了许多的helm_chart_Kuboard套件并无意成为另外一个包管理器_设计的出发点是为了在Kuboard界面中提供基于应用程序上下文的监控查看_日志查看等特性
meta:
- name: keywords
content: Kubernetes教程,K8S,helm,helm chart
---
# Kuboard套件
<AdSenseTitle/>
## 概述
目前比较流行的 Kubernetes 包管理器是 helm其仓库中已经拥有了许多的 helm chart。Kuboard 套件并无意成为另外一个包管理器,设计的出发点是为了在 Kuboard 界面中提供基于应用程序上下文的监控查看、日志查看等特性。
具体应用请参考 [监控 example](/guide/example/monitor.html)
## 特点
Kuboard套件具备如下特点
* 快速安装
* 从套件仓库获得套件的配置文件
* 利用Kuboard已经提供的导入功能可以完成套件安装
* 初始化
* 许多应用安装完成后需要执行初始化动作才能正常使用,例如 grafana 要配置其 DataSource 和 dashboard
* Kuboard套件的作者可以将初始化动作固化到套件的脚本中
* Kuboard界面上下文
* 套件可以在如下几个层级向Kuboard预留的位置添加按钮Kuboard会将上下文作为参数调用套件的回调函数
* 节点Node
* 容器组Pod
* 容器Container
* 卸载
* 可以在Kuboard界面中方便地卸载已经安装的套件
* 新增自定义套件
* Kuboard套件的API已经开放可以根据自己的需要创建套件或者在已有套件基础上修改为更加符合自己需要的套件
## 类型
Kuboard套件可以分为
* 全局类型
* 安装到 kube-system 名称空间
* 全局套件定义的按钮将对所有节点,所有名称空间中的 Pod、Container 生效
* 名称空间类型
* 安装到指定名称空间
* 名称空间套件定义的按钮只在指定的名称空间生效
## 安装套件
* 在名称空间点击 **套件** 按钮,如下图所示:
![K8S教程_安装套件_名称空间页](./README.assets/image-20191124194210820.png)
将进入已安装的套件列表界面,如下图所示:
![K8S教程_安装套件_套件列表页](./README.assets/image-20191124194309133.png)
* 点击 ***查找并安装*** 按钮 (此处以全局套件的安装为例),如下图所示
![K8S教程_安装套件_套件仓库对话框](./README.assets/image-20191124194352173.png)
* 点击 ***资源层监控套件*** 的 ***安装*** 按钮
> 如果您有自定义套件,也可以直接指定套件对应的 addon.json 的 URL 路径,然后点击安装,请参考 [自定义套件](./customize.html)
此时Kuboard已经将该套件的所有配置信息存储到 `kube-system/eip-monitor-system` 的 ConfigMap 中。如果安装的是名称空间套件,则存储在对应名称空间的 ConfigMap 中,例如 `<namespace>/<addon-id>`
> 点击套件的 ***查看配置*** 按钮,可以在真正执行安装前,根据自己的需要修改配置
![K8S教程_安装套件_已加载](./README.assets/image-20191124194643545.png)
* 点击 ***资源层监控套件*** 的 ***安装*** 按钮
> 此时Kuboard 开始根据 ConfigMap 中的配置信息导入套件所需要的 Kubernetes 资源,请参考 [自定义套件](./customize.html)
![K8S教程_安装套件_导入套件资源](./README.assets/image-20191124195047680.png)
根据界面提示,完成套件所需 Kubernetes 资源的导入,可参考 [导入 example 微服务](/guide/example/import.html)
完成导入后,回到 ***已安装的套件*** 界面,显示如下所示:
![K8S教程_安装套件_已完成导入](./README.assets/image-20191124195358663.png)
* 点击 ***初始化*** 按钮
::: danger 初始化的时机
安装套件时,根据套件的实际情况,导入了不同类型不同数量的 Kubernetes 资源,其中通常有 Deployment / StatefulSet 等控制器。全局套件的资源被导入到 `kube-system` 名称空间,名称空间套件的资源被导入到当前名称空间中。在执行初始化之前,请确保这些导入的控制器已经正常运行,否则初始化将会失败。
:::
套件完成初始化。
![K8S教程_安装套件_已完成初始化](./README.assets/image-20191124195510253.png)
## 使用套件
* 完成 ***初始化*** 之后,必须刷新 Kuboard 界面,套件向 Kuboard 中加入的按钮才能显示出来,以前面安装的全局监控套件为例,该套件向所有的 Node 增加了两个按钮(节点监控、节点监控-含节点上的容器组),如下图所示:
![K8S教程_安装套件_节点界面](./README.assets/image-20191124201230365.png)
向所有的 Pod 增加了三个按钮(容器组监控、所在节点监控、所在节点监控-含节点上的容器组),如下图所示:
![K8S教程_安装套件_容器组界面](./README.assets/image-20191124201039841.png)
* 点击 ***节点监控*** 按钮,将打开 grafana 界面,如下图所示:
::: tip 注意
* Kuboard 提供了三个插入点使套件可以向 Kuboard 增加功能(节点界面、容器组界面、容器界面),具体每个套件向 Kuboard 添加了什么样的功能按钮,由该套件决定
* 本例中的点击 **节点监控** 按钮后Kuboard 将调用 ***资源层监控套件*** 中对应的 javascript 脚本,打开的 grafana 界面,也是由 ***资源层监控套件*** 安装到 Kubernetes 中
:::
![K8S教程_安装套件_监控界面](./README.assets/image-20191124201842024.png)
## 卸载套件
***已安装的套件** 列表界面,点击对应套件的 ***卸载*** 按钮,就可以将该套件卸载
## 自定义套件
Kuboard 套件的设计主要是如下两个目的:
* 将监控、日志等功能从 Kuboard 界面中分离,使得其可以独立维护
* 适应多样性的需求,例如:
* 对中间件层的监控,如 mysql / nginx / jvm 等
* 对链路层的监控,如 pinpoint / skywalking / zabbix 等
* 不同形式的日志套件选择,如 EFK / ELK 等
请参考 [自定义套件](./customize.html) 了解如何实现自己的 Kuboard 套件。

View File

@ -1,12 +1,14 @@
---
vssueId: 168
lessAds: true
description: 如何基于KuboardAPI实现自定义的Kubernetes监控套件
---
# 自定义监控套件 <Badge text="alpha" type="warn"/>
# 自定义套件 <Badge text="beta" type="warn"/>
<AdSenseTitle/>
文档建设中...
> * 请参考 [监控 example](/guide/example/monitor.html) <Badge text="alpha" type="warn"/> 体验 Kuboard 在监控套件方面的设想
> * 请参考 [监控 example](/guide/example/monitor.html) <Badge text="beta" type="warn"/> 体验 Kuboard 在监控套件方面的设想
> * 监控套件以插件的形式整合到 Kuboard在不使用监控套件的情况下Kuboard 的所有功能都可正常工作

15
guide/addon/repository.md Normal file
View File

@ -0,0 +1,15 @@
---
vssueId: 168
lessAds: true
# sharingTitle:
description: Kubernetes教程_目前比较流行的Kubernetes包管理器是helm_其仓库中已经拥有了许多的helm_chart_Kuboard套件并无意成为另外一个包管理器_设计的出发点是为了在Kuboard界面中提供基于应用程序上下文的监控查看_日志查看等特性
meta:
- name: keywords
content: Kubernetes教程,K8S 套件,Kubernetes包管理,helm,helm chart
---
# Kuboard套件仓库
<AdSenseTitle/>
文档建设中...

14
guide/cicd/README.md Normal file
View File

@ -0,0 +1,14 @@
---
vssueId: 169
lessAds: true
description: Kubernetes教程本文介绍了如何在Kuboard中实现与CICD的集成
meta:
- name: keywords
content: Kubernetes教程,K8S,helm,helm chart
---
# CI/CD集成
<AdSenseTitle/>
文档建设中...