Understanding Deployments in Kubernetes: A Behind-the-Scenes Look

FoxuTech
2 min readDec 17, 2023

--

Kubernetes Deployments are a fundamental aspect of working with Kubernetes. While the process may seem straightforward, understanding the intricate steps behind the scenes is crucial for troubleshooting and gaining a deeper understanding.

Deployment Request Workflow:

There are three primary ways to initiate deployments:

  • YAML/JSON file: Applying a file containing the deployment manifest using kubectl apply.
  • kubectl run command: This simplifies deployment by providing image name and basic configuration in the command line.
  • kubectl create command: Offers greater control by specifying detailed deployment parameters.

Internal Workflow:

Client-Side:

  • Validation: Ensures resource type, group, and client credentials are valid.
  • Context & Authentication: Extracts current context, cluster, and authentication information from kubeconfig.
  • HTTP Request: Forms and sends the deployment request to the API server.

Server-Side:

API Server:

  • Authentication: Verifies client credentials using certificates, tokens, or basic authentication.
  • Authorization: Evaluates user privileges using RBAC, ABAC, or webhooks.
  • Admission Control: Validates the request against defined criteria, potentially modifying it before storing it in etcd.
  • Persistence: Stores the deployment request in etcd.

Deployment Controller:

  • ReplicaSet Creation: Watches for new deployments in etcd and creates corresponding ReplicaSet objects.

ReplicaSet Controller:

  • Pod Creation: Creates Pod objects based on the ReplicaSet spec.

Pod Controller:

  • Pod Scheduling: Waits for the scheduler to update node information and create a binding object.

Continue Reading on https://foxutech.com/understanding-deployments-in-kubernetes-a-behind-the-scenes-look/

If you like our posts, please share with your friends.

You can subscribe us on https://www.youtube.com/@FoxuTech

Follow us on Twitter & Instagram

--

--

FoxuTech

Discuss about #Linux, #DevOps, #Docker, #kubernetes, #HowTo’s, #cloud & IT technologies like #argocd #crossplane #azure https://foxutech.com/