<p>I know what is the advantages of pod over the container it is there in the Kubernetes documentation but still unable to understand the same tasks and actions can be performed with container too then why we need pods in Kubernetes?</p>

<p>The K8s documentation describes <a href="https://kubernetes.io/docs/concepts/containers/" rel="nofollow noreferrer">containers</a> and <a href="https://kubernetes.io/docs/concepts/workloads/pods/" rel="nofollow noreferrer">pods</a> pretty well. But in essence:</p>
<p><strong>A pod in the K8s context</strong></p>
<ul>
<li>A group of containers</li>
<li>Containers share networking. For example, the same IP address</li>
<li>Typically multi-container pods are used when you need a sidecar container. For example:
<ul>
<li>A proxy process to your main container.</li>
<li>A debug container with utilities.</li>
<li>A process that always needs to run together with your app.</li>
<li>A container that does some sort of networking changes that your app needs.</li>
</ul>
</li>
<li>Allows you to set up a securityContext for all the pods in the container.</li>
<li>Allows you to set up a Disruption Budget policy to prevent downtime for example.</li>
<li>Allows you to use higher-level Kubernetes abstractions like Deployments, StatefulSets and Jobs.</li>
<li>Allows you to set Pod presets so that a pattern can be reused.</li>
</ul>
<p><strong>A container in the K8s context</strong></p>
<ul>
<li>A lower-level abstraction from a pod</li>
<li>Allows you to specify the image</li>
<li>Allows you to specify resources (mem/cpu)</li>
<li>Allows you to setup Liveness, Startup, and Readiness Probes.</li>
<li>Allows you to set up a securityContext just for the container individually</li>
</ul>
