Skip to main content
Proper Kubernetes resource configuration ensures optimal performance, reliability, and cost-efficiency for your Prisme.ai deployment. This guide details best practices and recommended configurations.
The following guidelines help ensure optimal performance for a standard Prisme.ai deployment:

Best Practices for Resource Management

Implement these best practices to optimize Kubernetes resource usage:

Resource Requests and Limits

  • Set accurate resource requests to inform Kubernetes scheduler for optimal pod placement.
  • Configure resource limits to prevent resource starvation.

Autoscaling

  • Use Horizontal Pod Autoscaler (HPA) based on CPU/Memory utilization.
  • Set minimum and maximum replica counts for critical components like API Gateway and Runtime.

Node Pool Optimization

  • Configure separate node pools for CPU-intensive (Runtime) and memory-intensive (Elasticsearch, MongoDB) workloads.
  • Regularly monitor resource usage and scale node pools accordingly.

Monitoring & Alerts

  • Integrate resource monitoring with Prometheus/Grafana.
  • Configure alerts to notify resource constraints or spikes in utilization.

Resource Quotas & Limit Ranges

Apply resource quotas and limit ranges to manage resource consumption within Kubernetes namespaces effectively.
Set resource quotas at namespace level to prevent overconsumption:
Define limit ranges to enforce default limits for all pods:

Persistent Storage Recommendations

Ensure reliability and durability by properly configuring persistent volumes (PVs):
  • Use Persistent Volume Claims (PVCs) with dynamically provisioned storage classes.
  • Recommended storage classes: SSD-backed storage (e.g., AWS EBS GP3, Azure Premium SSD, Google Persistent Disk SSD).
  • Regular backups and snapshotting via cloud provider capabilities or dedicated backup solutions.

Monitoring Kubernetes Resources

Use Prometheus and Grafana to continuously monitor resources:
  • CPU and memory utilization dashboards.
  • Persistent storage performance metrics.
  • Alerting rules for resource exhaustion.
Example Prometheus alert:

Troubleshooting Resource Issues

Common issues and resolutions:
  • Verify sufficient cluster resources available:
  • Adjust resource requests if necessary.
  • Inspect pod-level resource usage:
  • Scale horizontally or vertically as needed.
  • Check PVC and PV status:
  • Ensure proper storage class configuration and available storage space.

Next Steps

High Availability

Configure high availability setups

Prometheus & Grafana

Set up monitoring tools

Products Configuration

Configure your Prisme.ai AI products

Operations Management

Learn about scaling operations efficiently