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

Clone the repository

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

Install using Helm

helm install KubeMate ./helm/KubeMate
# Or with custom values
helm install KubeMate ./helm/KubeMate -f values.yaml

Option 2: Kubernetes Manifests

1

Clone the repository

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

Apply Kubernetes manifests

# Apply all manifests at once
kubectl apply -f k8s/

# Or apply individually
kubectl apply -f k8s/db.yaml
kubectl apply -f k8s/pvc.yaml
kubectl apply -f k8s/backend.yaml
kubectl apply -f k8s/frontend.yaml
kubectl apply -f k8s/svc.yaml

that's it!

Accessing KubeMate

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

kubectl get svc KubeMate-frontend

# For LoadBalancer type
kubectl get svc KubeMate-frontend

# For NodePort type
kubectl get nodes -o wide

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.