Troubleshooting
If the pods are not starting:
# Check pod logs for specific issues
kubectl logs -n log [pod name]
# Check events for scheduling issues
kubectl get events -n log --sort-by='.lastTimestamp'If ingress has no external IP:
# Check load balancer service status
kubectl describe svc -n log-ingress
# Verify Azure load balancer creation in Azure portal
# This can take 5-10 minutes in some regionsIf SSL certificate is not ready:
# Check cert-manager logs
kubectl logs -n log-cert -l app=cert-manager
# Check certificate request status
kubectl describe certificaterequest -n logIf LogScale UI is not accessible:
Verify all pods are running:
shellkubectl get pods -n logCheck service endpoints:
shellkubectl get endpoints -n logVerify ingress rules:
shellkubectl describe ingress -n logCheck firewall rules allow your IP in
ip_ranges_allowed_https.
Deployment Order Issues
Always deploy Azure infrastructure first, then configure
kubectl, then LogScale components:
# Correct order - Infrastructure first
terraform apply -target="module.azure-core" -target="module.azure-keyvault" -target="module.azure-kubernetes" -target="module.logscale-storage-account"
# Configure kubectl automatically
terraform apply -target="null_resource.kubeconfig_setup"
# Then deploy CRDs and LogScale components step by step
terraform apply -target="module.logscale.module.crds"
# ... continue with remaining stepsThis command will:
Deploy the complete Azure infrastructure (AKS cluster, storage, Key Vault)
Configure kubectl automatically using Terraform
Install all required Kubernetes Custom Resource Definitions
Prepare the cluster for LogScale component deployment
Important
Each terraform apply command will prompt for
confirmation before making changes. Review the plan carefully and type
yes when ready to proceed.
Timeout Issues
If nginx ingress or other Helm deployments timeout:
Monitor LoadBalancer creation:
shellkubectl get svc -n log-ingress -wAzure LoadBalancer provisioning can take 5-10 minutes
Retry deployment once LoadBalancer is ready
Troubleshooting Specific to Advanced Architecture
Some notes on troubleshooting the advanced architecture type:
Node Affinity: Pods are strictly scheduled to appropriate node pools via k8s-app labels
Resource Constraints: Each node pool has specific resource limits and requests
Network Isolation: Components communicate through specific subnet and security group rules
Storage Classes: TopoLVM requires NVMe-capable node types for local storage