Kubernetes Deployment

Deploy KubeMate on Kubernetes itself for production environments. This method is ideal for teams who want high availability, scalability, and want to leverage Kubernetes' orchestration capabilities.

Prerequisites

Kubernetes cluster running (version 1.20+ recommended)

kubectl configured with cluster access

Helm 3 installed (for Helm installation) OR kubectl (for manifests)

Persistent storage available (for database)

An LLM provider API key

Quick Start

The absolute minimum setup to start using KubeMate on Kubernetes is:

Choose your deployment method

You can deploy KubeMate using Helm charts for a simplified experience, or apply Kubernetes manifests directly using kubectl for full control.

Option 1: Helm Charts (Recommended)

1

Add the Helm repository

helm repo add kubemate https://mehdi-chebbi.github.io/KubeMate/
2

Update the repository

helm repo update
3

Install using Helm

helm install my-kubemate kubemate/kubemate

Option 2: Kubernetes Manifests (More Control)

1

Clone the repository

git clone https://github.com/mehdi-chebbi/kubemate.git
cd kubemate/k8s
2

Apply Kubernetes manifests

# apply individually
kubectl apply -f k8s/
kubectl apply -f k8s/backend/
kubectl apply -f k8s/db/
kubectl apply -f k8s/frontend/

Accessing KubeMate

After deployment, you can access KubeMate through the Kubernetes service. To get URL:

kubectl get svc -n kubemate

kubectl port-forward svc/kubemate-frontend 3000:80 -n kubemate

Then open your browser to: http://localhost:3000

Configuration Details

To make things even easier, both Helm charts and Kubernetes manifests include sensible defaults for production use. Persistent volumes are configured for database storage, services are set up for proper networking, and health checks ensure high availability.

So you don't need to do anything more to start exploring your clusters right now, however take your time reading the information below to get a deeper understanding about how these concepts work.