<p>I am surprised that nobody has yet asked this, but what exactly is <code>deployment.apps</code>?</p>
<p>I see it often in commands e.g</p>
<pre><code>kubectl rollout pause deployment.apps/nginx-deployment
</code></pre>
<p>or even used interchangably for the <code>deployments</code> keyword:
<code>kubectl get deployments</code>= <code>kubectl get deployment.apps</code></p>
<p>I do not understand what it indicates though. Even in <a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/" rel="nofollow noreferrer">K8s official docs</a>, they just take for granted that the reader understands the term.</p>
<p>Could someone please explain it to me?</p>

<p>Kubernetes API has its different resources (e.g. Pods, Deployments, Ingress) grouped in what they call &quot;<a href="https://kubernetes.io/docs/reference/using-api/#api-groups" rel="nofollow noreferrer">api groups</a>&quot; and in the notation <code>deployment.apps</code> - &quot;<a href="https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/deployment-v1/" rel="nofollow noreferrer">deployment</a>&quot; is the resource name and the &quot;apps&quot; is the api group name.</p>
<p>Also see the motivation for <a href="https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md" rel="nofollow noreferrer">API groups</a></p>
