kind

kind & apiVersion

The following table includes a list of all the supported resource types and their abbreviated aliases.

(This output can be retrieved from kubectl api-resources, and was accurate as of Kubernetes v1.27.4-eks)

NAMESHORTNAMESAPIVERSIONNAMESPACEDKIND
bindingsv1TRUEBinding
componentstatusescsv1FALSEComponentStatus
configmapscmv1TRUEConfigMap
endpointsepv1TRUEEndpoints
eventsevv1TRUEEvent
limitrangeslimitsv1TRUELimitRange
namespacesnsv1FALSENamespace
nodesnov1FALSENode
persistentvolumeclaimspvcv1TRUEPersistentVolumeClaim
persistentvolumespvv1FALSEPersistentVolume
podspov1TRUEPod
podtemplatesv1TRUEPodTemplate
replicationcontrollersrcv1TRUEReplicationController
resourcequotasquotav1TRUEResourceQuota
secretsv1TRUESecret
serviceaccountssav1TRUEServiceAccount
servicessvcv1TRUEService
mutatingwebhookconfigurationsadmissionregistration.k8s.io/v1FALSEMutatingWebhookConfiguration
validatingwebhookconfigurationsadmissionregistration.k8s.io/v1FALSEValidatingWebhookConfiguration
customresourcedefinitionscrd,crdsapiextensions.k8s.io/v1FALSECustomResourceDefinition
apiservicesapiregistration.k8s.io/v1FALSEAPIService
controllerrevisionsapps/v1TRUEControllerRevision
daemonsetsdsapps/v1TRUEDaemonSet
deploymentsdeployapps/v1TRUEDeployment
replicasetsrsapps/v1TRUEReplicaSet
statefulsetsstsapps/v1TRUEStatefulSet
tokenreviewsauthentication.k8s.io/v1FALSETokenReview
localsubjectaccessreviewsauthorization.k8s.io/v1TRUELocalSubjectAccessReview
selfsubjectaccessreviewsauthorization.k8s.io/v1FALSESelfSubjectAccessReview
selfsubjectrulesreviewsauthorization.k8s.io/v1FALSESelfSubjectRulesReview
subjectaccessreviewsauthorization.k8s.io/v1FALSESubjectAccessReview
horizontalpodautoscalershpaautoscaling/v2TRUEHorizontalPodAutoscaler
cronjobscjbatch/v1TRUECronJob
jobsbatch/v1TRUEJob
certificatesigningrequestscsrcertificates.k8s.io/v1FALSECertificateSigningRequest
leasescoordination.k8s.io/v1TRUELease
eniconfigscrd.k8s.amazonaws.com/v1alpha1FALSEENIConfig
endpointslicesdiscovery.k8s.io/v1TRUEEndpointSlice
eventsevevents.k8s.io/v1TRUEEvent
flowschemasflowcontrol.apiserver.k8s.io/v1beta3FALSEFlowSchema
prioritylevelconfigurationsflowcontrol.apiserver.k8s.io/v1beta3FALSEPriorityLevelConfiguration
policyendpointsnetworking.k8s.aws/v1alpha1TRUEPolicyEndpoint
ingressclassesnetworking.k8s.io/v1FALSEIngressClass
ingressesingnetworking.k8s.io/v1TRUEIngress
networkpoliciesnetpolnetworking.k8s.io/v1TRUENetworkPolicy
runtimeclassesnode.k8s.io/v1FALSERuntimeClass
poddisruptionbudgetspdbpolicy/v1TRUEPodDisruptionBudget
clusterrolebindingsrbac.authorization.k8s.io/v1FALSEClusterRoleBinding
clusterrolesrbac.authorization.k8s.io/v1FALSEClusterRole
rolebindingsrbac.authorization.k8s.io/v1TRUERoleBinding
rolesrbac.authorization.k8s.io/v1TRUERole
priorityclassespcscheduling.k8s.io/v1FALSEPriorityClass
csidriversstorage.k8s.io/v1FALSECSIDriver
csinodesstorage.k8s.io/v1FALSECSINode
csistoragecapacitiesstorage.k8s.io/v1TRUECSIStorageCapacity
storageclassesscstorage.k8s.io/v1FALSEStorageClass
volumeattachmentsstorage.k8s.io/v1FALSEVolumeAttachment
cninodescndvpcresources.k8s.aws/v1alpha1FALSECNINode
securitygrouppoliciessgpvpcresources.k8s.aws/v1beta1TRUESecurityGroupPolicy
kubectl api-resources

apiVersion

What does each apiVersion mean?

alpha

API versions with ‘alpha’ in their name are early candidates for new functionality coming into Kubernetes. These may contain bugs and are not guaranteed to work in the future.

beta

‘beta’ in the API version name means that testing has progressed past alpha level, and that the feature will eventually be included in Kubernetes. Although the way it works might change, and the way objects are defined may change completely, the feature itself is highly likely to make it into Kubernetes in some form.

stable

These do not contain ‘alpha’ or ‘beta’ in their name. They are safe to use.


v1

This was the first stable release of the Kubernetes API. It contains many core objects.

apps/v1

apps is the most common API group in Kubernetes, with many core objects being drawn from it and v1. It includes functionality related to running applications on Kubernetes, like Deployments, RollingUpdates, and ReplicaSets.

autoscaling/v1

This API version allows pods to be autoscaled based on different resource usage metrics. This stable version includes support for only CPU scaling, but future alpha and beta versions will allow you to scale based on memory usage and custom metrics.

batch/v1

The batch API group contains objects related to batch processing and job-like tasks (rather than application-like tasks like running a webserver indefinitely). This apiVersion is the first stable release of these API objects.

batch/v1beta1

A beta release of new functionality for batch objects in Kubernetes, notably including CronJobs that let you run Jobs at a specific time or periodicity.

certificates.k8s.io/v1beta1

This API release adds functionality to validate network certificates for secure communication in your cluster. You can read more on the official docs.

extensions/v1beta1

This version of the API includes many new, commonly used features of Kubernetes. Deployments, DaemonSets, ReplicaSets, and Ingresses all received significant changes in this release.

Note that in Kubernetes 1.6, some of these objects were relocated from extensions to specific API groups (e.g. apps). When these objects move out of beta, expect them to be in a specific API group like apps/v1. Using extensions/v1beta1 is becoming deprecated—try to use the specific API group where possible, depending on your Kubernetes cluster version.

policy/v1beta1

This apiVersion adds the ability to set a pod disruption budget and new rules around pod security.

rbac.authorization.k8s.io/v1

This apiVersion includes extra functionality for Kubernetes role-based access control. This helps you to secure your cluster.