Purpose of adding Openshift intrastructure nodes
The purpose of the Masters is to provide the API and Controllers services and, if possible, make them non-schedulable. Those masters will take care of:
- Handling requests from clients (Nodes, Users, Admins and other infrastructure systems deployed on Openshift)
- Run the Scheduler and Replication Controller
- Provide Client tools (oc and oadm)
- etcd Datastore (if not installed separately in different servers)
Then, all your non-user pods like ha-proxy router, as you say, and docker-registry, registry-console, logging-ops, metrics or whatever you consider infrastructure services (gitlab, nexus and so forth) can be deployed on your infra-nodes.