Kubernetes Deployment Guide
Kubernetes Deployment Guide
This comprehensive guide explains how to deploy Kaneo on Kubernetes using our official Helm chart. This setup is ideal for production environments where you need scalability, high availability, and enterprise-grade infrastructure.
Prerequisites
Before you begin, ensure you have:
- Kubernetes cluster (v1.19 or higher)
- Helm 3 installed and configured
- kubectl configured to communicate with your cluster
- Basic knowledge of Kubernetes and Helm concepts
- Ingress controller (nginx, traefik, etc.) for production deployments
Quick Installation
Clone the Kaneo repository
Install with default configuration
This will deploy Kaneo with PostgreSQL and default settings.
Access your deployment
Use port forwarding to access the services locally:
Production Deployment with Ingress
For production environments, you should expose Kaneo through an Ingress controller:
Create a production values file
Create a file named kaneo-values.yaml
with production-ready configuration:
Deploy with custom configuration
Configure DNS
Configure your DNS settings to point your-domain.com
to your Ingress controller's external IP or load balancer.
Verify deployment
You should now be able to access Kaneo at https://your-domain.com
and the API will be accessible at https://your-domain.com/api
. 🎉
Using Secrets for Sensitive Data
For better security, you can store sensitive data like JWT tokens and database credentials in Kubernetes Secrets:
Create secrets
Update values to use secrets
Upgrade your deployment
Using External PostgreSQL Database
If you prefer to use an external PostgreSQL database instead of the bundled one:
Configure external database
Update your values file to disable the bundled PostgreSQL and configure external database:
Deploy or upgrade
Using Gateway API
As an alternative to Ingress, you can use the Kubernetes Gateway API for more advanced routing capabilities:
Verify Gateway API installation
Make sure the Gateway API is installed in your cluster.
Create Gateway configuration
Create a file named kaneo-gateway.yaml
:
Apply the configuration
Database Management
Backup and Recovery
For production deployments, consider implementing regular database backups:
Migration from SQLite
If you're migrating from a previous SQLite-based installation, you'll need to:
- Export your data from SQLite
- Deploy the new PostgreSQL-based chart
- Import your data into PostgreSQL
Contact the Kaneo community on Discord for migration assistance.
Uninstalling
To uninstall Kaneo from your Kubernetes cluster:
This will remove all the Kubernetes components associated with the chart and delete the release.
Next Steps
- Configure monitoring with Prometheus and Grafana
- Set up automated backups for your PostgreSQL database
- Implement horizontal pod autoscaling for high availability