Overview
The Kubernetes deployment of Plane provides:- High Availability: Multiple replicas of critical services
- Auto-scaling: Horizontal pod autoscaling based on load
- Rolling Updates: Zero-downtime deployments
- Resource Management: CPU and memory limits/requests
- Health Checks: Liveness and readiness probes
- Persistent Storage: StatefulSets for databases
Prerequisites
1
Kubernetes Cluster
You need a running Kubernetes cluster (v1.21+). Options include:
- Cloud Providers: AWS EKS, Google GKE, Azure AKS, DigitalOcean DOKS
- Self-Managed: kubeadm, kops, Rancher
- Local Development: minikube, kind, k3s
2
Helm 3
Install Helm, the Kubernetes package manager:Verify installation:
3
kubectl
Ensure kubectl is installed and configured:
4
Persistent Storage
Your cluster needs a StorageClass for persistent volumes:Most cloud providers offer default storage classes (gp2, standard, etc.).
Installation via Helm
Plane provides an official Helm chart for Kubernetes deployments.Add Helm Repository
Install Plane
1
Create Namespace
2
Create Configuration File
Create a
values.yaml file with your custom configuration:values.yaml
3
Install Chart
Running status.4
Verify Installation
Check all resources:View logs if needed:
Access Plane
Depending on your ingress configuration:Architecture on Kubernetes
Configuration
Using External PostgreSQL
For production, use a managed database service:values.yaml
Using External Redis
values.yaml
Using AWS S3 for Storage
values.yaml
Ingress Configuration
NGINX Ingress
values.yaml
Traefik Ingress
values.yaml
SSL/TLS with cert-manager
1
Install cert-manager
2
Create ClusterIssuer
letsencrypt-prod.yaml
3
Update Ingress
Update your Upgrade release:
values.yaml:Scaling
Manual Scaling
Scale deployments directly:values.yaml and upgrade:
values.yaml
Horizontal Pod Autoscaling (HPA)
Create HPA for API pods:api-hpa.yaml
Upgrading
1
Backup Data
Backup PVCs:
2
Update Helm Repository
3
Check New Version
4
Upgrade Release
Monitoring
Resource Usage
Logs
Events
Troubleshooting
Pods Not Starting
- ImagePullBackOff: Check image name and registry access
- CrashLoopBackOff: Check logs for application errors
- Pending: Check resource availability and PVC binding
Database Connection Issues
PVC Not Binding
Ingress Not Working
Backup and Disaster Recovery
Using Velero
Install Velero for cluster backups:Manual PVC Backup
Next Steps
Configuration
Configure environment variables and integrations
Instance Admin
Set up instance administration
Additional Resources
- Helm Chart Repository: Artifact Hub
- Kubernetes Documentation: kubernetes.io
- Helm Documentation: helm.sh
