Ingress Controller Setup
Overview
The ingress controller is responsible for:
- Managing external access to services
- Load balancing
- SSL/TLS termination
- Routing rules
Deployment Options
- Helm Chart
- Cloud Marketplace
Install with Helm
helm upgrade --install ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx \
--namespace ingress-nginx \
--create-namespace
Wait for the load balancer IP to be assigned:
kubectl get service -n ingress-nginx ingress-nginx-controller \
--output jsonpath='{.status.loadBalancer.ingress[0].ip}'
Cloud Provider Marketplaces
Choose your cloud provider's marketplace offering:
-
Digital Ocean:
- Install "NGINX Ingress Controller" from marketplace
- Automatically configures load balancer
-
CIVO:
- Enable "Nginx ingress controller" during cluster creation
- Or add from marketplace post-creation
-
Other Providers:
- Most cloud providers offer similar marketplace solutions
- Follow provider-specific installation steps
Validation
Verify your installation:
# Check pods are running
kubectl get pods -n ingress-nginx
# Verify service and IP allocation
kubectl get svc -n ingress-nginx
Information Collection
Required Values for Platform Installation
- Ingress class name (default:
nginx
) - Load balancer IP address
- Ingress controller namespace
Example Configuration
ingress:
enabled: true
className: nginx
# Other ingress settings will be configured in Domain & TLS section
Troubleshooting
Common issues and solutions:
- No Load Balancer IP
- Verify cloud provider load balancer service is running
- Check cloud provider quotas
- Ensure correct service annotations
- Controller Not Ready
- Check pod logs:
kubectl logs -n ingress-nginx <pod-name>
- Verify resource requirements are met
- Check network policies
Next Steps
- ✅ Verify ingress controller is running
- ✅ Note down the load balancer IP
- ➡️ Proceed to Domain and TLS Setup
Need Help?
Contact [email protected] if you encounter any issues.