Basic deployment
Deploy MinIO Sidekick to distribute traffic across multiple backend servers within a single site.
Single backend group
Start Sidekick with a health check path and a comma-separated list of backend servers:
sidekick --health-path=/ready http://server1:8000,http://server2:8000,http://server3:8000,http://server4:8000Sidekick treats each space-separated argument as a separate site. Keep the backends of one site in one argument.
Sidekick listens on port 8080 by default and forwards requests to healthy backends.
Configure a different listen port using --address:
sidekick --health-path=/ready --address :9000 http://server1:8000,http://server2:8000Ellipses expansion
Use ellipses syntax to specify ranges of backend servers:
sidekick --health-path=/minio/health/ready http://minio{1...4}:9000This expands to four backends: http://minio1:9000, http://minio2:9000, http://minio3:9000, and http://minio4:9000.
The syntax supports any numeric range with automatic zero-padding.
DNS round-robin mode
For load balancer configurations with DNS round-robin, enable --rr-dns-mode to treat a single hostname as multiple backends:
sidekick --health-path=/ready --rr-dns-mode http://sidekick.example.com:8000Sidekick performs a DNS lookup on the hostname at startup, creates a separate backend for each resolved IP address, and distributes traffic across all IPs.
The backend list does not change when the DNS TTL expires.
To add IP addresses that the hostname resolves to later, send Sidekick a SIGHUP signal or restart it.
Client access
Point client applications to the load balancer address instead of directly to backend servers.
Clients send requests to http://localhost:8080 (or the configured address), and the load balancer forwards requests to healthy backends transparently.
Sidekick adds headers to forwarded requests including X-Forwarded-Host, X-Real-IP, and X-Forwarded-For.
Backend applications can use these headers to identify the original client.