<p>I Have the following setup in mind:
Kubernetes on Mesos (based on the kubernetes-mesos project) within a /16 network.
Each pod will have its own IP and I believe this will avail 64 000 pods.
The idea is to provide isolation for each app i.e. Each app gets its own mysql within the same pod - the app accesses mysql on localhost(within the pod).
If an additional service were needed, I'd use kubernetes rolling updates to add the service's container to the pod, the app will be able to access this new service on localhost as well.
Each application needs as much isolation as possible.</p>

<ol>
<li>Are there any defects to such an implementation? </li>
<li>Do I have to use weave? 

<ul>
<li>There's an option to specify the service-ip-range while running the kubernetes-mesos install.</li>
</ul></li>
<li>One hole is how do I scale a service, is this really viable? </li>
<li>Is there a better way to do this? i.e. Offering isolated services</li>
</ol>

<p>Thanks.
PS//I'm obviously a noobie at this and I'm trying to get the best possible setup running. </p>

<p>A common misconception is that a Pod should manage a vertical, multi-tier stack: for example a web tier + DB tier together.</p>

<p>It's interesting to read the <a href="https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/user-guide/pods.md#uses-of-pods" rel="nofollow">Kubernetes design intent of Pods</a>: they're for collecting 'helper' processes rather than composing a vertical stack.</p>

<p>To answer your questions, I'd recommend:</p>

<ul>
<li>Define a Pod template for the web tier only. This can be scaled to any size required, using a replication controller (questions #1 and #3).</li>
<li>Define another Pod for MySQL.</li>
<li>Use the <a href="https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/user-guide/services.md" rel="nofollow">Service abstraction</a> to locate these components.</li>
</ul>
