Kuberntes Complete Hands-On Guides.
Kubernetes, also known as K8s, is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications. It groups containers into logical units for easy management and discovery, ensuring high availability and scalability.
- A Hands-on Guide to Kubernetes Custom Resource Definitions (CRDs) with a Practical Example
- A Hands-on Guide to Vault in Kubernetes
- A Hands-on Guide to Kubernetes Resource Quotas & Limit Ranges
- Rolling Update & Recreate Deployment Strategies in Kubernetes
- Blue-Green Deployment in Kubernetes
- A Hands-on Guide to Kubernetes Volumes
- A Hands-on Guide to Kubernetes RBAC with a User Creation
- Implementing Canary Deployment in Kubernetes
- A Hands-on Guide to Kubernetes Pod Disruption Budget (PDB)
- A Hands-on Guide to Kubernetes CronJobs
- A Hands-on Guide to Kubernetes Jobs
- Mastering Kubernetes Backups with Velero
- Kubernetes Ingress: Transitioning to HTTPS with Self-Signed Certificates
- Mastering Kubernetes ConfigMaps
- Secure Your Kubernetes Apps: Hands-On Basic Authentication with Ingress
- Migrating Angular .NET Docker Environment to Kubernetes
- Exploring Types of Routing-Based Ingresses in Kubernetes
- A Hands-On Guide to Kubernetes Ingress Nginx
- Mastering Kubernetes Ingress
- From Docker to Kubernetes: Elevating Our Login App
- Kubernetes Taints & Tolerations
- Azure DevOps Self-Hosted Agents on Kubernetes: Part 3
- Azure DevOps Self-Hosted Agents on Kubernetes: Part 2
- Azure DevOps Self-Hosted Agents on Kubernetes: Part 1
- Understanding Kubernetes Pod Fields
- kubectl Helper: Your Ultimate Kubernetes Command Companion
- Exploring Container Types in Kubernetes: Beyond Init and Sidecar Containers
- Deploying NGINX on Kubernetes: A Quick Guide
- Setting Up an Amazon EKS Cluster and Node Group Using eksctl
- Jump Box Setup on EKS Cluster
- ⎈ A Hands-On Guide to Kubernetes External Secrets Operator 🛠️
- ⎈ A Hands-On Guide to Kubernetes Priority Classes 🛠️
- ⎈ A Hands-On Guide to Kubernetes Horizontal & Vertical Pod Autoscalers 🛠️
- ⎈ A Hands-On Guide to Kubernetes QoS Classes🛠️
- ⎈ A Hands-On Guide to Kubernetes Endpoints & EndpointSlices 🛠️
The master node is responsible for managing the Kubernetes cluster. It oversees the nodes and the pods running within the cluster. Key components of the master node include:
- API Server: Exposes the Kubernetes API, acting as the front end for the Kubernetes control plane.
- Etcd: A consistent and highly-available key-value store used for all cluster data.
- Scheduler: Assigns workloads to the worker nodes based on resource availability.
- Controller Manager: Runs controller processes to regulate the state of the cluster, handling tasks like node failures and endpoint management.
- Cloud Controller Manager: Manages cloud-specific controller processes.
Worker nodes run the applications and handle the containerized workloads. Each worker node has its own set of components:
- Kubelet: Ensures that containers are running in a pod by communicating with the master node.
- Kube-proxy: Maintains network rules and handles network communication within and outside the cluster.
- Container Runtime: Runs the containers. Common runtimes include Docker, containerd, and CRI-O.
Pods are the smallest deployable units in Kubernetes, representing a single instance of a running process. They encapsulate one or more containers, storage resources, a unique network IP, and options for how the containers should run.
Services provide stable endpoints for accessing the running pods. They enable communication between different parts of an application and can expose the application to external traffic.
Volumes offer persistent storage that pods can use. Unlike containers, which are ephemeral, volumes retain data even after a pod is terminated.
Namespaces are a way to divide cluster resources between multiple users. They provide scope for names, allowing for resource management and access control.
Deployments define the desired state for application deployment, specifying the number of replicas, the container image to use, and update strategies. They enable declarative updates to applications and rollbacks if necessary.
Kubernetes provides a robust platform for managing containerized applications, offering powerful abstractions to ensure applications are scalable, resilient, and easy to manage. Understanding the basic architecture and concepts is essential for effectively leveraging Kubernetes in your projects.
- Kubernetes Documentation
- Kubernetes GitHub Repository
- Kubernetes API Reference
- Kubernetes Icon Set
- Minikube Play Ground
- K8s Labs
- Killercoda Play Ground
Anvesh Muppeda |
This project is licensed under the GNU License - see the LICENSE file for details.