From 74f3edda449cf5d8fd339d1e68a9763b40a81032 Mon Sep 17 00:00:00 2001 From: sid palas Date: Mon, 10 Jun 2024 16:29:19 -0400 Subject: [PATCH] add readme for built in resource type section --- 04-built-in-resource-types/README.md | 48 ++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 04-built-in-resource-types/README.md diff --git a/04-built-in-resource-types/README.md b/04-built-in-resource-types/README.md new file mode 100644 index 0000000..507cd11 --- /dev/null +++ b/04-built-in-resource-types/README.md @@ -0,0 +1,48 @@ +# Built-In Resource Types + +Kubernetes provides many resource types that cover many application deployment/operational needs. + +This sections covers most of these resource types with working examples for each. + +## How to use this section + +Each directory represents a resource type and has a Taskfile containing all necessary commands. + +The tasks are prefixed with numbers to indicate the proper order to run them in. + +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) + +``` +task 01-create-namespace + +### OTHER TASKS + +task 07-delete-namespace +``` + +## Resource Types + +- **Namespace**: Provides a way to divide cluster resources between multiple users. +- **Pod**: The smallest and simplest Kubernetes object. Represents a set of running containers on your cluster. +- **ReplicaSet**: Ensures that a specified number of pod replicas are running at any given time. +- **Deployment**: Manages stateless applications, providing features such as rolling updates and rollbacks. +- **Service**: Defines a logical set of pods and a policy by which to access them. +- **Job**: Creates one or more pods that run to completion. +- **CronJob**: Schedules jobs to run at specified times or intervals. +- **DaemonSet**: Ensures that a copy of a pod runs on all (or some) nodes in the cluster. +- **StatefulSet**: Manages stateful applications, providing guarantees about the ordering and uniqueness of pods. +- **ConfigMap**: Store configuration data that can be consumed by pods. +- **Secret**: Manages sensitive information, such as passwords, OAuth tokens, and ssh keys. +- **Ingress**: Manages external access to the services in a cluster, typically HTTP. +- **GatewayAPI**: Manages traffic routing within the cluster, providing advanced routing capabilities. +- **PersistentVolume and PersistentVolumeClaim**: Manages persistent storage for pods. +- **RBAC (Role-Based Access Control)**: Manages permissions within the cluster. + +### Out of Scope Resource Types + +- **LimitRange**: Specifies resource constraints for resources within a namespace. +- **NetworkPolicy**: Controls the network traffic flow at the IP address or port level within the Kubernetes cluster. +- **MutatingWebhookConfiguration**: Defines webhooks that can mutate incoming requests to the Kubernetes API server. +- **ValidatingWebhookConfiguration**: Defines webhooks that can validate incoming requests to the Kubernetes API server. +- **HorizontalPodAutoscaler**: Automatically scales the number of pods in a deployment or replica set based on observed CPU utilization or other custom metrics. +- **CustomResourceDefinition**: Allows users to define their own resource types and make the Kubernetes API server handle them (covered in a later section!).