Kubernetes Resource Type Reference

Core Kubernetes object kinds: Pod, Deployment, Service, ConfigMap.

Searchable reference of core Kubernetes API resource kinds — Pod, Deployment, StatefulSet, Service, Ingress, ConfigMap, Secret and RBAC — with apiVersion, scope and typical use.

What is the difference between a Pod and a Deployment?

A Pod is the smallest deployable unit — one or more containers sharing a network and storage — but it has no self-healing. A Deployment manages a ReplicaSet of identical Pods, recreating them if they die and handling rolling updates and rollbacks. You almost always create Deployments, not bare Pods, for application workloads.

Know your Kubernetes object kinds

Kubernetes models everything as API objects, each identified by a kind and an apiVersion. This reference lists the core resource kinds — the workload controllers, networking, configuration, storage and RBAC objects you use every day — with their apiVersion, whether they are namespaced or cluster-scoped, and what each is for.

How it works

A manifest declares the object’s type and desired state; the control plane works to make reality match. The most important distinction is the controller you pick for a workload:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  selector:
    matchLabels: { app: web }
  template:
    metadata:
      labels: { app: web }
    spec:
      containers:
        - name: web
          image: nginx:1.27

A Deployment manages stateless replicas; a StatefulSet handles stateful ones with stable identity; a DaemonSet runs one Pod per node; Jobs and CronJobs handle batch and scheduled work.

Tips and notes

  • Create Deployments rather than bare Pods so the control plane reschedules failed Pods automatically.
  • Keep configuration in ConfigMaps and sensitive values in Secrets, then mount them as env vars or files.
  • Remember Secrets are only base64-encoded by default — enable encryption at rest and tight RBAC to protect them.
  • Run kubectl api-resources to see the exact kinds, short names and scopes your cluster supports, including CRDs from installed operators.