初识k8sgpt

k8sgpt是一个扫描k8s集群和诊断集群问题的强有力工具。k8sgpt的分析都是基于SRE经验,使用k8sgpt能快速对集群进行
问题扫描且快速提取相关信息并且可以使用AI增加自身的能力。

K8SGPT的作用是帮助用户扫描和诊断Kubernetes集群中的问题。它可以执行以下任务:

  • 故障排除:K8SGPT使用自然语言处理技术分析Kubernetes集群的状态和配置,帮助用户快速识别和解决故障。

  • 安全性分析:K8SGPT能够检测和分析Kubernetes集群的安全性问题,例如暴露的敏感信息、权限配置错误等,并提供相应的建议和修复措施。

  • 性能优化:K8SGPT可以评估Kubernetes集群的性能,并提供性能优化建议,帮助用户提升集群的吞吐量、响应时间等关键指标。

  • 最佳实践验证:K8SGPT基于SRE经验,可以检查Kubernetes集群是否符合最佳实践和行业标准,并提供改进建议。

如何安装

安装教程

简明教程

你可以在官方网站上直接体验不用安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# 分析k8s集群状态,默认会检查这些资源
# Deployment, ReplicaSet, PersistentVolumeClaim, Service, Ingress, StatefulSet, Pod, CronJob, Node
k8sgpt analyze

# --explain选项将会将错误信息发送给AI后端(默认是OpenAI)以获得一些帮助(会提示你怎么解决问题)
k8sgpt analyze --explain

# 使用FakeAI provider
k8sgpt analyze -b noopai --explain


# 数据安全性,为了提高安全性k8sgpt提供了匿名化功能,在把数据发送给AI后端之前会对一些敏感数据进行处理。当AI后端返回数据之后,k8sgpt再把数据替换成真实的数据返回给客户端
# 匿名化不支持Event

k8sgpt analyze -b noopai --explain --anonymize


# 对指定的命名空间进行扫描
k8sgpt analyze --namespace kubee-system


# 只想扫描指定的资源
# 只扫描Ingress, Service
k8sgpt analyze --filter Ingress,Service

# filters列表,分为Active 和Unused
➜ k8sgpt filters list
Active:
> Pod
> Deployment
> ReplicaSet
> PersistentVolumeClaim
> Service
> Ingress
> StatefulSet
> CronJob
> Node
Unused:
> HorizontalPodAutoScaler
> PodDisruptionBudget
> NetworkPolicy

# 添加新的filters
k8sgpt filters add PodDisruptionBudget

# 从Active中的filters移除
k8sgpt filters remove PodDisruptionBudget


# 与其它工具集成
## 支持的工具列表
➜ k8sgpt integrations list
Active:
Unused:
> trivy

# 激活trivy
k8sgpt integration activate trivy

# try
k8sgpt analyze -b noopai --filter VulnerabilityReport

REF:
1.https://docs.k8sgpt.ai/
2.https://docs.k8sgpt.ai/tutorials/playground/
3.https://github.com/k8sgpt-ai/k8sgpt/blob/main/CONTRIBUTING.md