Kubernetes Resources
In Kubernetes, resources are like building blocks used to create and manage your cluster. Each resource is an object with metadata (such as names and labels) and a desired state that defines its behavior. All objects in Kubernetes are managed by an API and 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 lists all the resources that can be managed in a Kubernetes cluster, including their names, short names, API versions, and whether they are namespaced:
kubectl api-resources
The most relevant resources for the KCNA exam are marked red
Resource Overview
You can link to the table here
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
Resource Description
![]() | |
![]() | |
|
![]() Service
|
Useful Links: |
![]() |
|
Detailed Description: In Kubernetes, a Service is a way to expose an application running inside a set of Pods as a network service. It provides a stable IP address and DNS name, allowing access either from outside the cluster or from other Pods within the cluster. A Service serves as an abstraction layer, connecting clients to the appropriate Pods, ensuring that the actual Pods behind the Service can change without disrupting access. There are different types of Services in Kubernetes, including:
|