Offloaded Probing Deployment
This guide describes how to configure and deploy CoreDNS-GSLB in an Offloaded Probing configuration, where health check execution is decoupled from the DNS resolution path.
Configuration Example
Passive GSLB Resolver Node Configuration (Corefile)
Configure the GSLB instances with Redis enabled:
gslb {
zone app.example.org. /etc/coredns/db.app.yml
redis_enable true
redis_addr "redis.shared.local:6379"
redis_password "securepass"
redis_sync_mode lock
}
In the zone YAML file (/etc/coredns/db.app.yml), mark the backends as passive:
records:
api.example.org.:
mode: failover
backends:
- address: "10.0.1.10"
priority: 1
passive: true # Will NOT run local probes, reads from Redis
- address: "10.0.1.11"
priority: 2
passive: true # Will NOT run local probes, reads from Redis
Active Probing Agent Configuration
Configure the probing agent to connect to the same Redis instance:
gslb {
zone app.example.org. /etc/coredns/db.app.yml
redis_enable true
redis_addr "redis.shared.local:6379"
redis_password "securepass"
redis_sync_mode lock
}
In its local zone YAML file, configure the backends with active health checks:
healthcheck_profiles:
http_check:
type: http
params:
port: 80
uri: "/healthz"
records:
api.example.org.:
mode: failover
backends:
- address: "10.0.1.10"
priority: 1
healthchecks: [ http_check ] # Actively supervised locally
- address: "10.0.1.11"
priority: 2
healthchecks: [ http_check ] # Actively supervised locally