Skip to content
Kubernetes Resource Map

Kubernetes Resource Map

Kubernetes builds a cluster and runs applications by combining many kinds of resource objects.


1. Resource Hierarchy

The resources inside a cluster form the following logical hierarchy.

    graph TD
    Cluster[Kubernetes Cluster] --> NS[Namespace]

    subgraph Resources["Resources in a Namespace"]
        NS --> Workload[Workload Controllers]
        Workload --> D[Deployment]
        Workload --> S[StatefulSet]
        Workload --> DS[DaemonSet]

        NS --> Pod[Pod]
        Pod --> C[Container]

        NS --> Net[Networking]
        Net --> SVC[Service]
        Net --> ING[Ingress]

        NS --> Config[Configuration]
        Config --> CM[ConfigMap]
        Config --> SEC[Secret]
    end
  

2. Resource Relationships

Resources do not exist in isolation; they reference or contain one another.

Relationship TypeStructureDescription
Deployment structureDeployment β†’ ReplicaSet β†’ PodDeclarative updates and replica management
Network connectivityService β†’ Endpoints β†’ PodProvides a stable address and load balancing
Configuration injectionConfigMap/Secret β†’ PodDelivers configuration as environment variables or files (Volumes)
Storage bindingPod β†’ PVC β†’ PVAllocates persistent storage to the application

3. Core Resource Summary

ResourceMain Role
PodThe smallest unit that runs in a cluster (a group of containers)
DeploymentDefines the desired state of an app and maintains it automatically (recommended for stateless apps)
StatefulSetManages apps where identity and order matter (stateful apps such as databases)
ServiceProvides a stable IP and DNS name for accessing a set of Pods
NamespaceDivides a single cluster into isolated scopes so that multiple teams or projects can share it

4. Tips for Exploring Resources

To see every kind of resource available in the cluster, use the following commands.

# List all resources and their short names
kubectl api-resources

# Show the detailed spec structure of a specific resource
kubectl explain deployment.spec.template

Understanding how these resources connect and work together is the key to operating Kubernetes.


5. Common Resource Short Names

kubectl accepts short names for resources. (e.g., kubectl get po = kubectl get pods)

5.1 Core Resources

Short NameResourceDescription
nonodesNode
popodsPod
svcservicesService
nsnamespacesNamespace
saserviceaccountsServiceAccount
ependpointsEndpoints

5.2 Workloads and Scheduling

Short NameResourceDescription
deploydeploymentsDeployment
rsreplicasetsReplicaSet
rcreplicationcontrollersReplicationController
dsdaemonsetsDaemonSet
stsstatefulsetsStatefulSet
cjcronjobsCronJob
(job)jobsJob (no separate short name; use job as is)

5.3 Configuration and Storage

Short NameResourceDescription
cmconfigmapsConfigMap
pvpersistentvolumesPersistentVolume
pvcpersistentvolumeclaimsPersistentVolumeClaim
scstorageclassesStorageClass
(secret)secretsSecret (no separate short name; use secret as is)

5.4 Networking and Security

Short NameResourceDescription
netpolnetworkpoliciesNetworkPolicy
ingingressesIngress
(role)rolesRole
(rolebinding)rolebindingsRoleBinding
(clusterrole)clusterrolesClusterRole
(clusterrolebinding)clusterrolebindingsClusterRoleBinding

⚠️ Note: RBAC resources (roles, rolebindings, clusterroles, clusterrolebindings) have no official short names. Abbreviations such as rb, crb, and crole are not recognized by kubectl, so use the singular names (role, rolebinding, etc.) as shown above.

5.5 Usage Examples

kubectl get po,svc,deploy -n kube-system
kubectl get no -o wide
kubectl describe ds <name> -n <ns>
kubectl get sts,pvc

πŸ’‘ Tip: You can find the exact short names for your cluster in the SHORTNAMES column of kubectl api-resources. Short names for resources added through CRDs are shown there as well.