Skip to content

Kubernetes Deployment Guide

This guide explains how to deploy openEO by TiTiler on Kubernetes using Helm. The implementation is available in the deployment/k8s directory.

Prerequisites

  • Kubernetes 1.16+
  • Helm 3.0+
  • PostgreSQL (optional, can be deployed as a subchart)

Quick Start

For local testing with Minikube:

# Start Minikube
minikube start

# Set context
kubectl config use-context minikube

# Install using Helm
cd deployment/k8s
helm upgrade --install openeo-titiler .

# Enable ingress (if needed)
minikube addons enable ingress

# Get service URL
minikube service ingress-nginx-controller -n ingress-nginx --url | head -n 1

Configuration

For detailed configuration options, refer to the Helm chart README. The README provides comprehensive documentation on:

  • Global parameters
  • Database configuration (JSON, DuckDB, PostgreSQL)
  • Persistence settings
  • Ingress configuration
  • Resource management
  • Autoscaling options

CDSE Integration

For deploying with Copernicus Data Space Ecosystem (CDSE), follow the instructions in the CDSE deployment section of the Helm chart documentation.

Production Deployment Considerations

When deploying to production:

  1. Configure appropriate resource limits and requests
  2. Enable and configure persistent storage
  3. Set up proper ingress with TLS
  4. Configure authentication
  5. Tune environment variables for performance
  6. Enable monitoring and logging

For specific configuration values and examples, refer to the configuration section in the Helm chart documentation.

Troubleshooting

Common Issues

  1. Pod Startup Failures
  2. Check resource limits
  3. Verify storage configuration
  4. Check logs: kubectl logs -l app=openeo-titiler

  5. Database Connection Issues

  6. Verify database configuration
  7. Check connectivity to external database
  8. Validate persistent volume claims

  9. Ingress Problems

  10. Verify ingress controller is running
  11. Check ingress configuration
  12. Validate TLS certificates

For more details on configuration options and deployment scenarios, see the Helm chart documentation.