<p>I have started recently getting familiar with Kubernetes, however while I do get the concept I have some questions I am unable to answer clearly through Kubernete's <a href="https://kubernetes.io/docs/concepts/" rel="noreferrer">Concept</a> and <a href="https://kubernetes.io/docs/home/" rel="noreferrer">Documentation</a>, and some understandings that I'd wish to confirm.</p>

<ul>
<li><p>A <a href="https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-intro/" rel="noreferrer">Deployment</a> is a group of one or more container images (Docker ..etc) that is deployed within a <a href="https://kubernetes.io/docs/user-guide/pods/" rel="noreferrer">Pod</a>, and through Kubernetes Deployment Controller such deployments are monitored and created, updated, or deleted.</p></li>
<li><p>A <a href="https://kubernetes.io/docs/user-guide/pods/" rel="noreferrer">Pod</a> is a group of one or more containers, are those containers from the same Deployment, or can they be from multiple deployments?</p></li>
<li><p>"A pod models contains one or more application containers which are relatively tightly coupled". Is there any clear criteria on when to deploy containers within the same pod, rather than separate pods?</p></li>
<li><p>"Pods are the smallest deployable units of computing that can be created and managed in Kubernetes" - <a href="https://kubernetes.io/docs/user-guide/pods/" rel="noreferrer">Pods, Kuberenets Documentation</a>. Is that to mean that Kubernetes API is unable to monitor, and manage containers (at least directly)?</p></li>
</ul>

<p>Appreciate your input.</p>

<p>your question is actually too broad for StackOverflow but I'll quickly answer before this one is closed.</p>

<p>Maybe it get's clearer when you look at the API documentation. Which you could read like this:</p>

<p><em>A <a href="https://kubernetes.io/docs/api-reference/v1.6/#deployment-v1beta1-extensions" rel="nofollow noreferrer">Deployment</a> describes a specification of the desired behavior for the contained objects.
This is done within the <code>spec</code> field which is of type <a href="https://kubernetes.io/docs/api-reference/v1.6/#deploymentspec-v1beta1-extensions" rel="nofollow noreferrer">DeploymentSpec</a>.</em></p>

<p><em>A <a href="https://kubernetes.io/docs/api-reference/v1.6/#deploymentspec-v1beta1-extensions" rel="nofollow noreferrer">DeploymentSpec</a> defines how the related Pods should look like with a <code>template</code>through the <a href="https://kubernetes.io/docs/api-reference/v1.6/#podtemplatespec-v1-core" rel="nofollow noreferrer">PodTemplateSpec</a></em></p>

<p><em>The <a href="https://kubernetes.io/docs/api-reference/v1.6/#podtemplatespec-v1-core" rel="nofollow noreferrer">PodTemplateSpec</a> then holds the <a href="https://kubernetes.io/docs/api-reference/v1.6/#podspec-v1-core" rel="nofollow noreferrer">PodSpec</a> for all the require parameters and that defines how containers within this Pod should look like through a <a href="https://kubernetes.io/docs/api-reference/v1.6/#container-v1-core" rel="nofollow noreferrer">Container</a> definition.</em></p>

<p>This is not a punchy oneline statement, but maybe makes it easier to see how things relate to each other.</p>

<p>Related to the criteria on what's a good size and what's too big for a Pod or a Container. This is very opinion loaded and the best way to figure that out is to read through the opinions on the size of <a href="https://www.martinfowler.com/microservices/#how" rel="nofollow noreferrer">Microservices</a>.</p>

<p>To cover your last point - Kubernetes is able to monitor and manage containers, but the "user" is not able to schedule single containers. They have to be embedded in a Pod definion. You can of course access Container status and details per container (e.g. through <code>kubeget logs &lt;pod&gt; -c &lt;container&gt;</code> (<a href="https://kubernetes.io/docs/user-guide/kubectl/v1.6/#logs" rel="nofollow noreferrer">details</a>) or through the <a href="http://blog.kubernetes.io/2015/05/resource-usage-monitoring-kubernetes.html" rel="nofollow noreferrer">metrics</a> API.</p>

<p>I hope this helps a bit and doesn't add to the confusion.</p>
