gspandy / kubediag

Problem diagnosis and operation orchestration for Kubernetes

Home Page:https://kubediag.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License

KubeDiag 是什么

KubeDiag 为 Kubernetes 集群中的诊断运维管理提供了一套统一的编排框架。用户通过 Kubernetes 自定义资源可以定义运维操作、如何执行复杂的诊断运维流水线、如何通过报警自动触发诊断运维流水线。该系统通过下列自定义资源为用户提供了运维操作的自动化管理能力:

  • Operation 用于定义故障运维和集群检查等操作。
  • OperationSet 用于定义诊断运维流水线。
  • Trigger 支持用户通过 Prometheus、Kafka 等系统自动触发诊断运维流水线。
  • Diagnosis 中记录了一次诊断运维流水线的结果和状况。

先决条件

用于安装 KubeDiag 的集群版本需要满足以下条件:

如果您使用 Helm 来进行安装,那么 Helm 的版本需要满足下列条件:

安装 KubeDiag

KubeDiag 包括 Master 和 Agent 组件,Master 在集群中以 Deployment 的方式安装,Agent 在集群中以 DaemonSet 的方式安装。

KubeDiag Master 建议使用 Cert Manager 管理 Webhook Server 的证书。如果集群中未安装 Cert Manager 可参考官方文档进行安装,运行以下命令进行快速安装:

# Kubernetes 1.16+
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.2/cert-manager.yaml

使用 kubectl 命令行工具进行安装:

kubectl create namespace kubediag
kubectl apply -f config/deploy

查看是否所有运行 KubeDiag 的 Pod 处于 Running 状态:

kubectl get -n kubediag pod -o wide

您也可以使用 Helm 进行安装,执行下列命令安装 KubeDiag:

helm repo add kubediag https://kubediag.github.io/kubediag-helm
helm repo update
helm install kubediag/kubediag-helm --create-namespace --generate-name --namespace kubediag

在开发环境进行调试时,如果安装了 kustomize 工具,运行以下命令可以将当前分支上的代码打包成镜像并进行安装:

make docker-build
make deploy

兼容性

下列是当前维护的 KubeDiag 版本以及其确认支持的 Kubernetes 版本,不在确认支持列表中的 Kubernetes 版本也可能正常工作:

KubeDiag Kubernetes 1.16 Kubernetes 1.17 Kubernetes 1.18 Kubernetes 1.19
release-0.1 Yes Yes
release-0.2 Yes Yes Yes Yes

贡献代码

我们欢迎任何形式的帮助,包括但不限定于完善文档、提出问题、修复 Bug 和增加特性。详情可参考文档

社区例会

我们会在每周四 14:00 CST 进行例会并对社区当前的状况和未来的发展进行讨论,您可以在这里查看会议纪要以及日程。

行为准则

您在参与本项目的过程中须遵守 CNCF 行为准则

联系我们

如果您在使用过程中遇到了任何问题,欢迎提交 Issue 进行反馈。您也可以扫描微信二维码加入技术交流群。

About

Problem diagnosis and operation orchestration for Kubernetes

https://kubediag.org

License:Apache License 2.0


Languages

Language:Go 98.7%Language:Makefile 0.7%Language:Dockerfile 0.7%