<p>When you read about API Groups in Kubernetes, you may come across group names like <code>core/v1</code>, <code>batch/v1</code>, <code>storage.k8s.io/v1</code>, and <code>scheduling.k8s.io/v1</code>. Some of these groups have the <code>k8s.io</code> postfix, while others do not. It can be confusing when specifying the apiVersion in your Kubernetes manifests, as you need to specify it as like <code>v1</code>, <code>batch/v1</code>, and <code>storage.k8s.io/v1</code>.</p>
<p>Knowing the reason will make me less confused.</p>
<p>Thanks.</p>

<p>I haven't found a precise explanation for your question, I believe it's an implementation choice.</p>
<p>But I'm sharing some resources that might clarify your ideas a bit.</p>
<blockquote>
<p>Resources are bound together in API groups - each group may have one or more versions that evolve independent of other API groups, and each version within the group has one or more resources. Group names are typically in domain name form - the Kubernetes project reserves use of the empty group, all single word names (&quot;extensions&quot;, &quot;apps&quot;), and any group name ending in &quot;*.k8s.io&quot; for its sole use. When choosing a group name, we recommend selecting a subdomain your group or organization owns, such as &quot;widget.mycompany.com&quot;.</p>
</blockquote>
<p><a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#api-conventions" rel="nofollow noreferrer">https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#api-conventions</a></p>
<p><a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#api-conventions" rel="nofollow noreferrer">https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#api-conventions</a></p>
<p><a href="https://stackoverflow.com/a/57854939/21404450">https://stackoverflow.com/a/57854939/21404450</a></p>
