Skip to main content
Glama
yuankraj

agentic-k8s-aiops

by yuankraj
README.md
# ⎈ Agentic K8s AIOps πŸ€–

![License](https://img.shields.io/badge/license-MIT-blue.svg)
![Python](https://img.shields.io/badge/python-3.11+-blue.svg)
![Kubernetes](https://img.shields.io/badge/kubernetes-ready-brightgreen.svg)
![AI](https://img.shields.io/badge/AI-Ollama-orange.svg)

An autonomous, AI-powered Kubernetes troubleshooting and remediation agent. 
This tool continuously monitors your Kubernetes cluster, detects anomalies, and leverages local LLMs (via **Ollama**) to diagnose and automatically fix issuesβ€”all without relying on external cloud APIs.

## 🌟 Key Features

- πŸ” **Automated Cluster Scanning:** Detects CrashLoopBackOff, OOMKilled, ImagePullBackOff, and pending pods.
- πŸ€– **Local AI Diagnosis:** Powered by the `gemma4:cloud` model via Ollama for secure, on-premise AI processing.
- πŸ› οΈ **Autonomous Auto-Remediation:** Executes kubectl commands directly to resolve detected issues using a ReAct agent framework.
- πŸ’» **Claude Code Native (MCP):** Fully integrated Model Context Protocol (MCP) server for terminal-based interactions.
- 🎨 **Beautiful Web Dashboard:** A sleek, dark-themed UI for visualizing cluster health, viewing AI reasoning, and managing self-healing workflows.

## πŸ—οΈ Architecture

The platform operates using a modular ReAct (Reasoning and Acting) pattern:
1. **Observation:** The `k8s_scanner.py` module continuously polls the cluster for degraded states.
2. **Thinking:** The `ai_agent.py` evaluates the issue using the local Ollama LLM.
3. **Action:** Through the MCP server, the agent executes targeted `kubectl` commands to remediate the issue.

## πŸš€ Quick Start

Ensure you have Python 3.11+, Ollama, and `kubectl` configured.

```bash
# 1. Clone the repository & setup
git clone https://github.com/yuankraj/agentic-k8s-aiops.git
cd agentic-k8s-aiops
bash setup.sh

# 2. Start the local Ollama server
ollama serve

# 3. Launch the Web Dashboard
source .venv/bin/activate
python app.py

# 4. Open in your browser
# http://localhost:8000
```

## πŸ“– Comprehensive Usage Guide

This agent can be run in three different modes:
1. **Web UI Mode** (via FastAPI dashboard)
2. **Claude Code Native Mode** (via FastMCP terminal server)
3. **Pure Terminal Chat Mode** (via Python script)

> **πŸ‘‰ Check out the [USAGE.md](USAGE.md) file for detailed step-by-step instructions for all execution modes.**

## πŸ“‚ Project Structure

```
.
β”œβ”€β”€ app.py            # Main web server (FastAPI)
β”œβ”€β”€ mcp_server.py     # FastMCP Server (Claude Code integration)
β”œβ”€β”€ k8s_scanner.py    # Kubernetes cluster scanner for fault detection
β”œβ”€β”€ ai_agent.py       # Ollama ReAct AI agent with auto-fix tools
β”œβ”€β”€ terminal_chat.py  # Pure terminal interaction script
β”œβ”€β”€ setup.sh          # One-click environment configuration
β”œβ”€β”€ requirements.txt  # Python dependencies
└── static/           # Frontend assets (UI, styling, logic)
    β”œβ”€β”€ index.html    
    β”œβ”€β”€ style.css     
    └── app.js        
```

## 🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request.

---
*Built with ❀️ for resilient Kubernetes operations.*