|
| 1 | +# Built-In Resource Types |
| 2 | + |
| 3 | +Kubernetes provides many resource types that cover many application deployment/operational needs. |
| 4 | + |
| 5 | +This sections covers most of these resource types with working examples for each. |
| 6 | + |
| 7 | +## How to use this section |
| 8 | + |
| 9 | +Each directory represents a resource type and has a Taskfile containing all necessary commands. |
| 10 | + |
| 11 | +The tasks are prefixed with numbers to indicate the proper order to run them in. |
| 12 | + |
| 13 | +Each set of examples are deployed into their own namespace. This helps prevent naming conflicts and makes it easier to clean up (because deleting a namesapce deletes the resources within it) |
| 14 | + |
| 15 | +``` |
| 16 | +task 01-create-namespace |
| 17 | +
|
| 18 | +### OTHER TASKS |
| 19 | +
|
| 20 | +task 07-delete-namespace |
| 21 | +``` |
| 22 | + |
| 23 | +## Resource Types |
| 24 | + |
| 25 | +- **Namespace**: Provides a way to divide cluster resources between multiple users. |
| 26 | +- **Pod**: The smallest and simplest Kubernetes object. Represents a set of running containers on your cluster. |
| 27 | +- **ReplicaSet**: Ensures that a specified number of pod replicas are running at any given time. |
| 28 | +- **Deployment**: Manages stateless applications, providing features such as rolling updates and rollbacks. |
| 29 | +- **Service**: Defines a logical set of pods and a policy by which to access them. |
| 30 | +- **Job**: Creates one or more pods that run to completion. |
| 31 | +- **CronJob**: Schedules jobs to run at specified times or intervals. |
| 32 | +- **DaemonSet**: Ensures that a copy of a pod runs on all (or some) nodes in the cluster. |
| 33 | +- **StatefulSet**: Manages stateful applications, providing guarantees about the ordering and uniqueness of pods. |
| 34 | +- **ConfigMap**: Store configuration data that can be consumed by pods. |
| 35 | +- **Secret**: Manages sensitive information, such as passwords, OAuth tokens, and ssh keys. |
| 36 | +- **Ingress**: Manages external access to the services in a cluster, typically HTTP. |
| 37 | +- **GatewayAPI**: Manages traffic routing within the cluster, providing advanced routing capabilities. |
| 38 | +- **PersistentVolume and PersistentVolumeClaim**: Manages persistent storage for pods. |
| 39 | +- **RBAC (Role-Based Access Control)**: Manages permissions within the cluster. |
| 40 | + |
| 41 | +### Out of Scope Resource Types |
| 42 | + |
| 43 | +- **LimitRange**: Specifies resource constraints for resources within a namespace. |
| 44 | +- **NetworkPolicy**: Controls the network traffic flow at the IP address or port level within the Kubernetes cluster. |
| 45 | +- **MutatingWebhookConfiguration**: Defines webhooks that can mutate incoming requests to the Kubernetes API server. |
| 46 | +- **ValidatingWebhookConfiguration**: Defines webhooks that can validate incoming requests to the Kubernetes API server. |
| 47 | +- **HorizontalPodAutoscaler**: Automatically scales the number of pods in a deployment or replica set based on observed CPU utilization or other custom metrics. |
| 48 | +- **CustomResourceDefinition**: Allows users to define their own resource types and make the Kubernetes API server handle them (covered in a later section!). |
0 commit comments