Ingress Management
Ingress management provides comprehensive monitoring and configuration of NGINX Ingress Controllers, load balancer integration, and external access management for Kubernetes clusters.
Accessing Ingress Management
Navigation
- Go to the cluster details page
- Click on the "Ingress" tab in the cluster navigation
- The ingress management interface displays controller status and configuration
![Figure needed]
Screenshot of cluster navigation with Ingress tab highlighted
Interface Overview
The ingress management interface provides:
- Controller Status: Real-time NGINX Ingress Controller health
- Load Balancer Health: External load balancer monitoring
- Service Configuration: Ingress service settings and endpoints
- Statistics Integration: HAProxy statistics for load balancer performance
NGINX Ingress Controller Status
Controller Health Monitoring
![Figure needed]
Screenshot of NGINX Ingress Controller status display
Health States
-
🟢 Healthy: Ingress controller operational with external IP assigned
- Full Functionality: All ingress features available
- External Access: External IP address allocated and functional
- Load Balancing: Load balancer healthy and distributing traffic
-
🟡 Not Ready: Ingress controller starting or degraded performance
- Limited Functionality: Some features may be unavailable
- Pending IP: External IP allocation in progress
- Performance Issues: Reduced performance or capacity
-
🔴 Not Enabled: Ingress controller not installed or failed
- No Functionality: Ingress services unavailable
- No External Access: No external IP allocated
- Installation Required: Ingress controller needs installation
Controller Information Display
Service Details
- Service Name: Kubernetes service name for ingress controller
- Service Type: Load balancer service type configuration
- Cluster IP: Internal cluster IP for ingress service
- External Traffic Policy: How external traffic is routed
- Session Affinity: Session persistence configuration
Status Monitoring
- Pod Status: Ingress controller pod health and readiness
- Replica Count: Number of ingress controller replicas
- Resource Usage: CPU and memory consumption
- Configuration Status: Ingress configuration validation
Load Balancer Integration
External Load Balancer
![Figure needed]
Screenshot of load balancer status and configuration
Load Balancer Information
- External IP: Public IP address for ingress traffic
- Provider: Load balancer provider (vCloud/Cloud provider)
- Health Status: Load balancer operational health
- Creation Status: Load balancer provisioning status
Port Configuration
- HTTP Port: Port 80 for HTTP traffic
- HTTPS Port: Port 443 for HTTPS traffic
- Custom Ports: Additional configured ports
- Target Ports: Backend port mappings
Service Configuration
Service Type Details
# Example ingress service configuration
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress-controller
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: https
selector:
app: nginx-ingress-controller
Configuration Options
- LoadBalancer: Automatic external IP allocation
- NodePort: Service accessible on specific node ports
- ClusterIP: Internal cluster access only
HAProxy Statistics Integration
Master Load Balancer Statistics
Control Plane Load Balancer Statistics showing running kubernetes-controlplane-nodes with active sessions
Statistics Features
- Backend Health: Status of ingress controller backends
- Connection Statistics: Active connections and traffic metrics
- Performance Metrics: Request rates and response times
- Health Monitoring: Automatic health checks for backends
Statistics Information
- Active Connections: Current active connections
- Total Requests: Cumulative request count
- Error Rates: Error rate statistics
- Response Times: Average response time metrics
Ingress Configuration
Service Type Configuration
During cluster creation, ingress service type can be configured:
![Figure needed]
Screenshot of ingress configuration during cluster creation
LoadBalancer Configuration
- Automatic IP: External IP automatically allocated
- Cloud Integration: Native cloud load balancer integration
- High Availability: Built-in high availability features
- Traffic Distribution: Automatic traffic distribution
NodePort Configuration
- Port Range: Service accessible on 30000-32767 port range
- Manual Management: Requires manual port management
- Firewall Rules: Manual firewall rule configuration
- Direct Access: Direct access to cluster nodes
ClusterIP Configuration
- Internal Only: Internal cluster access only
- Manual Exposure: Requires manual external exposure
- Advanced Setup: For complex networking scenarios
- Custom Solutions: Custom ingress solutions
Ingress Class Configuration
Default Ingress Class
- Class Name: "nginx" (default)
- Controller Association: Associated with NGINX Ingress Controller
- Resource Selection: Used by ingress resources without explicit class
- Multiple Controllers: Support for multiple ingress controllers
Multiple Ingress Classes
# Example ingress resource with specific class
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: example-service
port:
number: 80
Monitoring and Health Checks
Real-time Monitoring
Status Updates
- Automatic Refresh: Ingress status updates every 30 seconds
- Health Checks: Continuous health monitoring
- Alert Conditions: Automatic detection of issues
- Status History: Historical status information
Performance Monitoring
- Traffic Metrics: Ingress traffic volume and patterns
- Response Times: Application response time monitoring
- Error Rates: HTTP error rate tracking
- Capacity Utilization: Ingress controller resource usage
Health Check Configuration
Ingress Controller Health
- Readiness Probes: Verify controller readiness
- Liveness Probes: Ensure controller remains healthy
- Health Endpoints: Dedicated health check endpoints
- Automatic Recovery: Automatic restart on health failures
Load Balancer Health
- Backend Checks: Health checks for ingress controller backends
- TCP Checks: TCP-level connectivity verification
- HTTP Checks: Application-level health verification
- Custom Checks: Configurable health check parameters
Ingress Usage Examples
Basic HTTP Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-app-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: webapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-app-service
port:
number: 80
HTTPS Ingress with TLS
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: secure-app-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
tls:
- hosts:
- secure.example.com
secretName: secure-app-tls
rules:
- host: secure.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: secure-app-service
port:
number: 443
Multi-service Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: multi-service-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: api.example.com
http:
paths:
- path: /v1
pathType: Prefix
backend:
service:
name: api-v1-service
port:
number: 80
- path: /v2
pathType: Prefix
backend:
service:
name: api-v2-service
port:
number: 80
Best Practices
Configuration
- Service Type: Choose appropriate service type for requirements
- TLS Certificates: Use cert-manager for automated certificate management
- Path Routing: Design clear path routing strategies
- Host Management: Organize hosts logically
Performance
- Load Balancing: Ensure proper load balancer configuration
- Resource Allocation: Allocate sufficient resources to ingress controller
- Caching: Implement appropriate caching strategies
- Compression: Enable compression for better performance
Security
- TLS Configuration: Enforce HTTPS where appropriate
- Access Control: Implement access control policies
- Rate Limiting: Configure rate limiting for protection
- Security Headers: Configure appropriate security headers
Monitoring
- Health Monitoring: Monitor ingress controller health continuously
- Performance Metrics: Track performance metrics
- Error Monitoring: Monitor and alert on errors
- Capacity Planning: Plan for traffic growth
Next: Learn about Network Troubleshooting for resolving common networking issues.