Skip to main content

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

  1. Go to the cluster details page
  2. Click on the "Ingress" tab in the cluster navigation
  3. 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

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

  1. Service Type: Choose appropriate service type for requirements
  2. TLS Certificates: Use cert-manager for automated certificate management
  3. Path Routing: Design clear path routing strategies
  4. Host Management: Organize hosts logically

Performance

  1. Load Balancing: Ensure proper load balancer configuration
  2. Resource Allocation: Allocate sufficient resources to ingress controller
  3. Caching: Implement appropriate caching strategies
  4. Compression: Enable compression for better performance

Security

  1. TLS Configuration: Enforce HTTPS where appropriate
  2. Access Control: Implement access control policies
  3. Rate Limiting: Configure rate limiting for protection
  4. Security Headers: Configure appropriate security headers

Monitoring

  1. Health Monitoring: Monitor ingress controller health continuously
  2. Performance Metrics: Track performance metrics
  3. Error Monitoring: Monitor and alert on errors
  4. Capacity Planning: Plan for traffic growth

Next: Learn about Network Troubleshooting for resolving common networking issues.