Kubernetes & Helm
Overview
Architecture
Component Overview
┌────────────────────────────────────────────────────────────┐
│ Ingress (TLS) │
│ ansible-inspec.yourdomain.com │
└─────────────┬──────────────────────────┬───────────────────┘
│ │
Path: / │ Path: /ui│
│ │
┌─────────▼──────────┐ ┌─────────▼──────────┐
│ API Service │ │ UI Service │
│ Port: 8080 │ │ Port: 8501 │
└─────────┬──────────┘ └─────────┬──────────┘
│ │
┌─────────▼──────────┐ ┌─────────▼──────────┐
│ API Deployment │ │ UI Deployment │
│ (FastAPI Server) │ │ (Streamlit) │
│ Replicas: 1-5 │ │ Replicas: 1 │
│ HPA Enabled │ │ │
└─────────┬──────────┘ └──────────┬─────────┘
│ │
│ ┌────────────────┘
│ │
┌─────────▼─────────▼─────┐
│ PostgreSQL StatefulSet │
│ (Bitnami Chart) │
│ Storage: 20GB │
└─────────────────────────┘Request Flow
Prerequisites
Installation
Quick Start (Development)
Production Deployment
Configuration
Key Configuration Options
Parameter
Description
Default
Secrets Management
Azure AD Configuration
Verification
Check Deployment Status
View Logs
Test Endpoints
Access via Ingress
Upgrading
Upgrade Helm Release
Rolling Back
Scaling
Manual Scaling
Auto-scaling
Monitoring
Prometheus Integration
Resource Monitoring
Troubleshooting
Common Issues
1. Pods Not Starting
2. Database Connection Issues
3. Ingress Not Working
4. Streamlit UI Not Loading
5. Resource Quota Issues
Uninstalling
Advanced Configuration
Using External PostgreSQL
Custom Init Containers
Network Policies
Pod Disruption Budget
Affinity and Anti-Affinity
Best Practices
Production Deployment
Security Hardening
Resources
Next Steps
Last updated