{"id":23629978,"url":"https://github.com/frnn4268/k8s_built-in_resources","last_synced_at":"2026-04-22T23:34:06.935Z","repository":{"id":264357154,"uuid":"893140026","full_name":"Frnn4268/K8s_built-in_resources","owner":"Frnn4268","description":"This repository provides hands-on for working with Kubernetes' built-in resource types, catering to diverse application deployment and operational needs.","archived":false,"fork":false,"pushed_at":"2024-11-24T01:49:33.000Z","size":45,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-02T06:05:34.358Z","etag":null,"topics":["civo","configmap","containers","deamonset","deployment","devbox","google-cloud-platform","ingress-controller","kind","kubernetes","microservices","nix","persistentvolume","pod","rbac","resource-type","service","statefulset"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Frnn4268.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-23T16:33:44.000Z","updated_at":"2024-11-24T01:51:49.000Z","dependencies_parsed_at":"2024-11-23T17:27:23.887Z","dependency_job_id":"da452b83-1dc7-49b1-9f87-80a891c8426c","html_url":"https://github.com/Frnn4268/K8s_built-in_resources","commit_stats":null,"previous_names":["frnn4268/k8s_built-in_resources"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Frnn4268/K8s_built-in_resources","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frnn4268%2FK8s_built-in_resources","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frnn4268%2FK8s_built-in_resources/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frnn4268%2FK8s_built-in_resources/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frnn4268%2FK8s_built-in_resources/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Frnn4268","download_url":"https://codeload.github.com/Frnn4268/K8s_built-in_resources/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frnn4268%2FK8s_built-in_resources/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32159958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T17:06:48.269Z","status":"ssl_error","status_checked_at":"2026-04-22T17:06:19.037Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["civo","configmap","containers","deamonset","deployment","devbox","google-cloud-platform","ingress-controller","kind","kubernetes","microservices","nix","persistentvolume","pod","rbac","resource-type","service","statefulset"],"created_at":"2024-12-28T01:19:57.087Z","updated_at":"2026-04-22T23:34:06.917Z","avatar_url":"https://github.com/Frnn4268.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kubernetes Resource Types\n\nThis repository provides hands-on for working with Kubernetes' built-in resource types, catering to diverse application deployment and operational needs.\n\n## Overview\n\nEach directory corresponds to a specific Kubernetes resource type and includes a `Taskfile` that outlines the commands required to create, interact with, and clean up the resource.  \nExamples are deployed into unique namespaces to avoid naming conflicts and simplify cleanup, as deleting a namespace removes all associated resources.\n\n## How to Use\n\n1. Navigate to the directory for the resource type you want to explore.\n2. Use the `Taskfile` to follow the step-by-step process:\n   - Create a namespace for the resources:\n     ```\n     task 01-create-namespace\n     ```\n   - Run the other tasks in sequence to create and manage resources.\n   - Finally, delete the namespace to clean up:\n     ```\n     task 07-delete-namespace\n     ```\n\n## Included Resource Types\n\nThe following Kubernetes resource types are covered in this repository:  \n\n- **Namespace**: Organize cluster resources by dividing them between multiple users.  \n- **Pod**: The smallest deployable unit, representing one or more containers running in the cluster.  \n- **ReplicaSet**: Maintains a desired number of pod replicas to ensure application availability.  \n- **Deployment**: Manages stateless applications with features like rolling updates and rollbacks.  \n- **Service**: Defines a policy for accessing a group of pods as a single logical entity.  \n- **Job**: Runs one or more pods until a task is completed.  \n- **CronJob**: Schedules jobs to execute at specific times or intervals.  \n- **DaemonSet**: Ensures that specific pods are running on all or selected nodes in the cluster.  \n- **StatefulSet**: Manages stateful applications with guarantees around pod identity and ordering.  \n- **ConfigMap**: Stores non-sensitive configuration data for consumption by pods.  \n- **Secret**: Stores sensitive data like credentials, tokens, or keys securely.  \n- **Ingress**: Manages external HTTP/HTTPS access to services within the cluster.  \n- **GatewayAPI**: Handles advanced traffic routing and control within the cluster.  \n- **PersistentVolume (PV) and PersistentVolumeClaim (PVC)**: Provides persistent storage for pods.  \n- **RBAC (Role-Based Access Control)**: Configures permissions and access control within the cluster.\n\n## How to Set Up and Use Devbox\n\n### Install Devbox\n\nDevbox is a CLI tool that helps you create and manage isolated development environments.  \nTo install Devbox, run the following command:  \n\n```bash\ncurl -fsSL https://get.jetify.com/devbox | bash\n```\n\nAlternatively, you can use Homebrew:  \n\n```bash\nbrew install jetpack-io/devbox/devbox\n```\n\nFor more installation options, visit the [Devbox documentation](https://www.jetify.com/docs/devbox/installing_devbox/).\n\n### Start a Devbox Shell\n\nOnce `devbox` is installed and the `devbox.json` file is present in the project root, you can start a Devbox shell:  \n\n```bash\ndevbox shell\n```\n\nThis command loads the development environment with all the packages and tools specified in `devbox.json`.\n\n---\n\n### Examples of Useful Commands\n\nOnce inside the Devbox shell, you can run commands for the tools included in your `devbox.json`. Here are some examples:\n\n#### **`kubectl` Commands**\n- **View all pods in a namespace:**  \n  ```bash\n  kubectl get pods -n \u003cnamespace\u003e\n  ```\n- **Apply a configuration file:**  \n  ```bash\n  kubectl apply -f \u003cfile.yaml\u003e\n  ```\n- **Delete a resource (e.g., a pod):**  \n  ```bash\n  kubectl delete pod \u003cpod-name\u003e -n \u003cnamespace\u003e\n  ```\n- **Describe a resource:**  \n  ```bash\n  kubectl describe \u003cresource-type\u003e \u003cresource-name\u003e -n \u003cnamespace\u003e\n  ```\n\n#### **`kubectx` Commands**\n- **Switch between Kubernetes clusters:**  \n  ```bash\n  kubectx \u003ccluster-name\u003e\n  ```\n- **List all available contexts:**  \n  ```bash\n  kubectx\n  ```\n\n#### **`kind`**\n- **Create a local Kubernetes cluster:**  \n  ```bash\n  kind create cluster --name \u003ccluster-name\u003e\n  ```\n- **Delete a Kind cluster:**  \n  ```bash\n  kind delete cluster --name \u003ccluster-name\u003e\n  ```\n\n## Out of Scope\n\nThe following resource types are not covered in detail but may be explored later:  \n\n- **LimitRange**: Sets constraints on resource usage within a namespace.  \n- **NetworkPolicy**: Controls network traffic flow at the IP/port level.  \n- **MutatingWebhookConfiguration**: Configures webhooks for modifying API server requests.  \n- **ValidatingWebhookConfiguration**: Sets webhooks for validating API server requests.  \n- **HorizontalPodAutoscaler**: Automatically adjusts pod counts based on metrics like CPU usage.  \n- **CustomResourceDefinition (CRD)**: Allows the creation of custom resource types in Kubernetes.  \n\n## Notes\n\n- Follow the order of resource types as outlined in this README for a structured learning experience.  \n- Each example aligns with best practices, making it easier to understand and apply in real-world scenarios.  \n\n---\n\nExplore and experiment with these Kubernetes resource types to deepen your understanding of managing workloads and configurations in Kubernetes!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrnn4268%2Fk8s_built-in_resources","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrnn4268%2Fk8s_built-in_resources","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrnn4268%2Fk8s_built-in_resources/lists"}