Troubleshooting
This guide helps you diagnose and resolve common issues encountered during QMigrator deployment and operation on Kubernetes. Follow the steps in each section to identify and fix problems related to Gateway configuration, routing, TLS certificates, and application access.
Common Issues
Gateway Not Getting External IP
Symptom: The Gateway resource is created but doesn't receive an external IP address or hostname, preventing external access to your application.
Possible Causes: - Gateway Controller is not running or misconfigured - Cloud provider load balancer provisioning failed - Insufficient permissions or quota limits - Gateway class name mismatch
Diagnosis:
Check the Gateway status and events:
Look for error messages in the Events section, such as:
- "Failed to assign to load balancer"
- "No addresses have been assigned to the Gateway"
- "Gateway class not found"
Verify the Gateway Controller is running:
All controller pods should be in Running state.
Resolution:
-
If Gateway Controller is not running:
-
If gateway class name is incorrect:
-
For cloud-specific issues:
- AWS: Check EC2 load balancer limits and IAM permissions
- Azure: Verify AKS has permissions to create public IPs
- GCP: Check GKE service account permissions
-
Check cloud provider load balancer:
HTTPRoute Not Working
Symptom: Gateway has an external IP, but requests to the application fail with 404, 502, or timeout errors.
Possible Causes: - Backend services are not running - HTTPRoute configuration errors - Service name or port mismatch - Parent reference (gateway listener) mismatch - Hostname not configured properly
Diagnosis:
-
Verify backend services are running:
Ensure all application pods are inRunningstate and services have valid endpoints. -
Check HTTPRoute status and configuration:
Look for:- Route status should be
Accepted - Parent references should match your Gateway
- Backend references should show valid services
- Route status should be
-
Check service endpoints:
If endpoints are empty, the service selector doesn't match any pods.
Resolution:
-
If pods are not running:
-
If service names don't match: Update your HTTPRoute to use correct service names:
-
If gateway listener names don't match:
-
Test connectivity from within the cluster:
-
Check HTTPRoute hostname configuration:
TLS Certificate Issues
Symptom: HTTPS connections fail with certificate errors, or certificates are not being issued automatically.
Possible Causes: - cert-manager is not running or misconfigured - Certificate Issuer not properly configured - DNS validation failing for Let's Encrypt - Gateway annotation missing or incorrect
Diagnosis:
-
Check certificate status:
Look for certificate status - should beReady=True. -
Get detailed certificate information:
Check the Events section for error messages like:- "Failed to create Order"
- "Waiting for HTTP-01 challenge propagation"
- "Failed to determine a valid solver configuration"
-
Verify cert-manager is running:
All cert-manager pods should be inRunningstate. -
Check certificate request:
Resolution:
-
If certificate issuer is missing or incorrect:
# Check issuers kubectl get issuer -n <namespace> kubectl get clusterissuer # Verify gateway has correct annotation kubectl get gateway qmig-gateway -n <namespace> -o yaml | grep annotations -A 5Ensure annotation matches issuer type:
-
If HTTP-01 challenge is failing:
Common fixes:# Check challenge status kubectl get challenges -n <namespace> kubectl describe challenge -n <namespace>- Ensure HTTPRoute is configured for HTTP (port 80) access
- Verify domain DNS points to gateway external IP
- Check firewall rules allow HTTP traffic
-
Force certificate renewal:
-
Check cert-manager logs for detailed errors:
Invalid Registry Credentials
Issue: helm registry login fails with authentication error
Resolution:
- Verify credentials are copied correctly (no extra spaces)
- Click Show button to reveal password instead of copying masked value
- Contact support if issue persists
License Key Not Working
Issue: License key is rejected during application login
Resolution:
- Ensure license has not expired (check Expiration Date)
- Verify key is copied completely without line breaks
- Ensure correct license file uploaded
- Contact support for license renewal or validation