router sharding

@pmorie - started a branch for the router sharding document.  The intent is to put this into the `routing.md` after it is defined.  
Yes, scheduling although our policy for scheduling is probably not going to be the same as pods (resource based)  I think ops will want most new apps to go to a bucket, which eventually gets filled / compacts (idle / active / total load).  Eventually apps will get migrated to different router shards, which may mean public urls will change.


> On Dec 2, 2014, at 12:33 AM, Paul Morie <notifications@github.com> wrote:
> 
> In docs/router_sharding.md:
> 
> > +    )
> > +
> > +The custom type allows a user to specify an arbitrary pod template for the router.
> > +
> > +#### The Router Subsystem State Reconciler
> > +
> > +The OpenShift system needs a new state reconciler to ensure that the configured routers are
> > +always running.  This will be a new controller called `RouterSubsystemController` that will watch
> > +the `Router` resource and handle running pods to realize the specified configuration.
> > +
> > +## Route Allocation
> > +
> > +Route allocation is the process of assigning a `Route` record to a specific `Router` and setting up
> > +DNS for routes.  We will treat the problem of route allocation similarly to the problem of
> > +scheduling a Pod.  There will be a new state reconciler to allocate Routes after they are created
> > +and a new field to express allocation status in the `Route` resource.
> @smarterclayton Upstream uses the binding type to encapsulate an action by the scheduler to associate a pod with a host. The binding type is 'applied' to the pod during the binding .REST Create call. If we want to follow upstream closely, we should have a similar type for the result of the route allocation (is it really just route scheduling?). Will make an update for that.
> 
> —
> Reply to this email directly or view it on GitHub.
>