AutoKube aims to simplify the management of microservices in Kubernetes by leveraging a Large Language Model (LLM)-powered agent management system. AutoKube is designed to streamline both development and operations phases of the DevOps lifecycle, aligning with the respective roles of developers (Dev) and operators (Ops).
- [Dev] Development of Agent-based Management System: AutoKube facilitates setting up an agent-based management system for microservices. This helps developers quickly establish self-managing systems powered by LLM-based agents. See the Dev section for more details.
- [Ops] Operations with the Agent-based Management System: AutoKube provides an intuitive tool for microservice operators to manage services, even with limited familiarity, using LLM-based agents. See the Ops section for more details.
This project is a work in progress, and contributions from the community are highly encouraged! Watch this 6-min introduction video to learn more.
AutoKube is inspired by research on applying LLM-based agents for microservice self-management. For more details, see paper_artifact_arXiv_2407_14402.
This section guides developers through setting up AutoKube for a microservice.
Create a local Kubernetes testbed with Minikube.
Configure and deploy the LLM-based agent.
This repository provides two concrete examples (sock-shop, social-network) for demonstration:
sh scripts/dev/minikube.sh # Set up a local testbed using Minikube
sh scripts/dev/prometheus.sh # Deploy Prometheus and forward its port for monitoring
sh scripts/dev/service.sh # Deploy the example services (Sock-shop or Social-network)
sh scripts/dev/agent.sh # Deploy the LLM-based agents
For Ops, we provide an easy-to-use command-line tool, AutoKube. By following the instructions below, you can simplify the management of your microservices.
./AutoKube