Kubernetes Resources
In Kubernetes, resources are like Lego blocks that represent objects you use to build and manage your cluster. Each Kubernetes resource is an object with metadata (such as names and labels) and a desired state that defines its behavior, all of which are stored in the etcd database. For example, a Pod resource defines how to run a group of containers, while a Service resource manages network access to those containers. Everything you can manage with kubectl
or the Kubernetes API - like workloads, storage, or configuration - is a resource, making them essential for defining and controlling your cluster's behavior.
The following command will print out all relevant resources kubectl api-resources
The most relevant resources for the KCNA exam are marked red
Core Resources
- Pod
- Service
- ConfigMap
- Secret
- Namespace
- PersistentVolume
- PersistentVolumeClaim
- ServiceAccount
- Binding
- ComponentStatus
- Endpoints
- Event
- LimitRange
- PodTemplate
- ReplicationController
- ResourceQuota
Workloads
- Deployment
- ReplicaSet
- DaemonSet
- StatefulSet
- CronJob
- Job
- ControllerRevision
Networking
- Ingress
- NetworkPolicy
- IngressClass
RBAC (Role-Based Access Control)
- Role
- RoleBinding
- ClusterRole
- ClusterRoleBinding
Storage
- StorageClass
- CSIDriver
- CSINode
- CSIStorageCapacity
- VolumeAttachment
Admission Control
- MutatingWebhookConfiguration
- ValidatingWebhookConfiguration
API Extensions
- CustomResourceDefinition
- APIService
Authentication and Authorization
- TokenReview
- LocalSubjectAccessReview
- SelfSubjectAccessReview
- SelfSubjectRulesReview
- SubjectAccessReview
Autoscaling
- HorizontalPodAutoscaler
Certificates
- CertificateSigningRequest
Coordination
- Lease
Discovery
- EndpointSlice
Events
- Event
Flow Control
- FlowSchema
- PriorityLevelConfiguration
Node Management
- RuntimeClass
Policies
- PodDisruptionBudget
- PodSecurityPolicy
Scheduling
- PriorityClass