# 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```](https://kubernetes.io/docs/reference/kubectl/#resource-types) 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:

 ```bash 
 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****
- **<span style="color:red;">Pod</span>** <a href="https://book.tikkle.de/books/cross-chapter-topics/page/pod"><i class="fa-solid fa-link"></a>
- **<span style="color:red;">Service</span>** <a href="https://book.tikkle.de/books/cross-chapter-topics/page/service"><i class="fa-solid fa-link"></i></a>
- **<span style="color:red;">ConfigMap</span>**  
- **<span style="color:red;">Secret</span>**  
- **<span style="color:red;">Namespace</span>** <a href="https://book.tikkle.de/books/cross-chapter-topics/page/namespace"><i class="fa-solid fa-link"></a>  
- PersistentVolume  
- PersistentVolumeClaim  
- ServiceAccount  
- Binding  
- ComponentStatus  
- **<span style="color:red;">Endpoints</span>** <a href="https://book.tikkle.de/books/cross-chapter-topics/page/service"><i class="fa-solid fa-link"></i></a>  
- Event  
- LimitRange  
- PodTemplate  
- ReplicationController  
- ResourceQuota

****Workloads****
- **<span style="color:red;">Deployment</span>**  <a href="https://book.tikkle.de/books/cross-chapter-topics/page/deployment"><i class="fa-solid fa-link"></i></a>
- **<span style="color:red;">ReplicaSet</span>**  <a href="https://book.tikkle.de/books/cross-chapter-topics/page/deployment"><i class="fa-solid fa-link"></i></a>
- **<span style="color:red;">DaemonSet</span>**  
- StatefulSet  
- **<span style="color:red;">CronJob</span>**  <a href="https://book.tikkle.de/books/cross-chapter-topics/page/job-cronjob"><i class="fa-solid fa-link"> 
- **<span style="color:red;">Job</span>**  <a href="https://book.tikkle.de/books/cross-chapter-topics/page/job-cronjob"><i class="fa-solid fa-link">
- ControllerRevision

****Networking****  
- **<span style="color:red;">Ingress</span>**  
- NetworkPolicy  
- IngressClass  

****RBAC (Role-Based Access Control)****  
- **<span style="color:red;">Role</span>**  
- **<span style="color:red;">RoleBinding</span>**  
- ClusterRole  
- ClusterRoleBinding  

****Storage****  
- **<span style="color:red;">StorageClass</span>**  
- CSIDriver  
- CSINode  
- CSIStorageCapacity  
- VolumeAttachment  

****Admission Control****  
- MutatingWebhookConfiguration  
- ValidatingWebhookConfiguration  

****API Extensions****  
- CustomResourceDefinition  
- APIService  

****Authentication and Authorization****  
- TokenReview  
- LocalSubjectAccessReview  
- SelfSubjectAccessReview  
- SelfSubjectRulesReview  
- SubjectAccessReview  

****Autoscaling**** 
- **<span style="color:red;">HorizontalPodAutoscaler</span>**  

****Certificates****
- CertificateSigningRequest  

****Coordination****
- Lease  

****Discovery****
- EndpointSlice  

****Events****
- Event  

****Flow Control****
- FlowSchema  
- PriorityLevelConfiguration  

****Node Management****
- RuntimeClass  

****Policies****
- PodDisruptionBudget  
- PodSecurityPolicy  


****Scheduling****
- PriorityClass