Add the Selenium Helm repository and run helm install selenium-grid docker-selenium/selenium-grid --set hub.serviceType=LoadBalancer to deploy Hub, Distributor, Router, EventBus, and browser Nodes as separate Kubernetes Deployments
Configure browser node replicas and resource limits in values.yaml; set node.replicas and node.resources.requests/limits for CPU and memory per browser type
Configure session timeouts via hub.sessionTimeout and enable autoscaling by setting autoscaling.enabled=true with appropriate min/max replica counts in values.yaml
Point your test's RemoteWebDriver at the LoadBalancer external IP on port 4444 with a DesiredCapabilities or Options object specifying browser name and version
Monitor the Grid via the built-in /ui endpoint on port 4444 and scrape Prometheus metrics from the /metrics endpoint for session queue depth and node availability
Known gotchas
The Helm chart version and Grid version must be compatible; always pin both chart version and image tag in production to avoid unexpected upgrades
Browser nodes require privileged security contexts or specific Linux capabilities (SYS_ADMIN for Chrome sandbox) — configure appropriate PodSecurityContext in values.yaml for your cluster's policy
Kubernetes pod anti-affinity rules should be set so browser node pods do not co-locate on the same node, preventing resource contention from multiple browser instances on one host
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp