Kubernetes 的受欢迎程度直线上升,但它也带来了大量有关集群工作负载管理的复杂知识。随着新创新的出现,管理工作负载和识别潜在问题变得越来越具有挑战性。
随着投票的结束,作为第一个给接受的人工智能和 Kubernetes 工具。K8sGPT 项目获选入 CNCF 是一个了不起的时刻。
项目介绍
K8sGPT 采用编码的 SRE 技术,利用人工智能(托管或自带)来简化复杂问题的描述并提供易于实施的解决方案。该工具可通过 CLI 或作为操作员访问,并且可以与可观测性项目集成,以促进持续监控和直接分类。
K8sGPT 的目标是充当虚拟工程师,减少团队所需的人员数量,并消除云原生采用的两个最重要的障碍:成本和技能。
路线图背景
K8sGPT 计划旨在为最终用户简化 Kubernetes 并简化工作负载管理。为了实现这一目标,该项目打算增强可观测性集成、资源分析和人工智能后端。该路线图包括开发一个可互操作系统,该系统反映云原生原则,并使个人和组织(无论规模大小)能够将 K8sGPT 纳入其工具包中。
官网地址
https://github.com/k8sgpt-ai/k8sgpt
安装k8sgpt
Linux/Mac via brew
brew tap k8sgpt-ai/k8sgpt
brew install k8sgpt
DEB-based installation (Ubuntu/Debian)
# 32bit
curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.24/k8sgpt_386.deb
sudo dpkg -i k8sgpt_386.deb
# 64bit
curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.24/k8sgpt_amd64.deb
sudo dpkg -i k8sgpt_amd64.deb
Operator Installation
详见:https://github.com/k8sgpt-ai/k8sgpt-operator
Operator模式非常适合对集群进行持续监控,并且可以与 Prometheus 和 Alertmanager 等现有监控集成。
快速开始
- 目前默认的AI提供商是OpenAI,需要从OpenAI生成API密钥
- 可以通过运行
k8sgpt generate
打开浏览器链接来生成它来完成此操作
- 可以通过运行
- 运行
k8sgpt auth add
在 k8sgpt 中进行设置。- 可以使用该标志直接提供密码–password。
- 运行
k8sgpt filters
以管理分析仪使用的有源滤波器。默认情况下,所有过滤器都会在分析期间执行。 - 运行
k8sgpt analyze
以运行扫描。 - 并用于
k8sgpt analyze --explain
获取问题的更详细解释。 - 还可以运行
k8sgpt analyze --with-doc
(带或不带解释标志)从 kubernetes 获取官方文档。
内置分析器
K8sGPT 使用分析器来分类和诊断集群中的问题。它有一组内置的分析器,
内置默认分析器
- pod分析器
- PVC分析仪
- RS分析仪
- 服务分析器
- 事件分析器
- 入口分析器
- 有状态集分析器
- 部署分析器
- cronJob分析器
- 节点分析器
- mutatingWebhook分析器
- 验证Webhook分析器
选用分析器
- hpa分析仪
- pdb分析器
- 网络策略分析器
- 网关类
- 网关
- http路由
使用分析器例子
使用默认分析器运行扫描
k8sgpt generate
k8sgpt auth add
k8sgpt analyze --explain
k8sgpt analyze --explain --with-doc
过滤资源
k8sgpt analyze --explain --filter=Service
按命名空间过滤
k8sgpt analyze --explain --filter=Pod --namespace=default
输出到 JSON
k8sgpt analyze --explain --filter=Service --output=json
更多使用例子可见:https://github.com/k8sgpt-ai/k8sgpt