This commit is contained in:
huanqing.shao
2019-11-08 22:44:08 +08:00
parent 1bb50a28f3
commit 203ec80fc9
8 changed files with 293 additions and 5 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

66
install/faq/warning.md Normal file
View File

@ -0,0 +1,66 @@
---
vssueId: 150
description: Kuboard界面上_时常会出现工作负载_Deployment_StatefulSet_DaemonSet_等为红色_且带一个红色E图标的情况_本文解释了该图标的含义以及如何清理
meta:
- name: keywords
content: Kubernetes 管理界面, Kuboard, K8S管理界面
---
# 错误提示
Kuboard中经常会出现如下情况某一个工作负载Deployment/StatefulSet/DaemonSet等显示为红色且有一个闪烁的红色 `E` 图标。
![image-20191108220746427](./warning.assets/image-20191108220746427.png)
此为 Kuboard 中设计的一个错误提示方式,其具体实现方式是:
* 遍历当前的所有事件,对于每一个事件:
* 如果事件类型为 Normal则跳过
* 如果事件类型为 Warining则对比该事件源对象产生该事件的Kubernetes 对象)的名字(假设为 event_source_name与当前工作负载假设为work_load_name的名字
* 如果 event_source_name.indexOf(work_load_name) === 0则该工作负载显示错误提示
* 如果 event_source_name.indexOf(work_load_name) !== 0则跳过
使用此方式,我们可以快速查看到名称空间中存在问题的工作负载,并迅速对其进行诊断。
但是这种告警方式并不是完美的,具体来说,会发生如下情况:
## 实际正常,但提示错误
实际上您的工作负载Deployment、StatefulSet、DaemonSet等已经正常工作但是仍然提示有错误信息。此种情况通常发生在类似如下的场景中
### 场景一:
* 创建Deployment但未创建所需要的PVC
* 此时该Deployment的Pod不能调度并伴随着 PVC 未绑定的错误事件
* 创建PVCPod成功调度Deployment正常工作
* 此时虽然Pod已经正常但是该Pod原来的错误事件仍然存在因此Kuboard仍然会显示此错误提示
### 场景二:
* 创建Deployment但该Deployment依赖的数据库未启动
* 此时该Deployment的Pod将Crash
* 启动数据库
* 删除Deployment原有的Pod
* 此时Deployment创建新Pod以维持所需要的副本数
* 新的Pod正常工作
* 此时虽然与错误事件关联的Pod已经删除但是该Pod产生的错误事件仍然存在且与Deployment的名称匹配因此Kuboard仍将显示错误标志
### 修正办法
* 在名称空间左上角点击 **事件** 按钮,将进入事件列表查看界面
* 将已经失效的错误事件删除
> 点击事件的图标,可删除事件
## 界面卡顿
当名称空间中工作负载的数量,以及集群中错误事件的数量特别多时,在进入名称空间界面时可能出现卡顿,但是只要成功进入,一切工作都是正常的。
卡顿的原因是Kuboard在循环遍历事件与工作负载的匹配情况通常只有在在工作负载数量和事件数量都特别多时才会出现卡顿在 1.0.4 版本中优化之后,速度已经得到了非常可观的提升。
如果您仍然碰到了卡顿的现象,可以尝试:
* 删除事件
执行命令 `kubectl delete events --all-namespaces`。由于 Kubernetes 的控制器模式Kubernetes会不断尝试失败的操作因此删除事件通常是安全的过一阵子原有的错误事件又会重复出现
* 向Kuboard反馈此问题
本文页尾有Kuboard支持社群的入群方式直接联系群主即可