<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s" -->

---
title: Musicians play their instruments. I play the orchestra.
description: A beginner-friendly introduction to Kubernetes explaining why it exists and how it works. Covers the limitations of Docker alone when managing containers at...
canonical: https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Musicians play their instruments. I play the orchestra. | daily.dev
og:description: A beginner-friendly introduction to Kubernetes explaining why it exists and how it works. Covers the limitations of Docker alone when managing containers at...
og:url: https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s
og:image: https://api.daily.dev/og/posts/xLUq98d6S.png
og:image:alt: Musicians play their instruments. I play the orchestra.
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Musicians play their instruments. I play the orchestra.

**[Medium](https://daily.dev/sources/medium_js)** · 6 min read · 3 upvotes · 0 comments

## Summary

A beginner-friendly introduction to Kubernetes explaining why it exists and how it works. Covers the limitations of Docker alone when managing containers at scale, then walks through the Kubernetes setup flow: writing a YAML deployment manifest, applying it with kubectl, how the API server validates and stores state in etcd, how the Scheduler assigns Pods to Nodes, how the Kubelet on each Node actually starts containers, and how the Deployment Controller provides self-healing by continuously reconciling desired vs. actual state.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/@p.gadiya177/musicians-play-their-instruments-i-play-the-orchestra-20cd3b530a80>

## Questions this post answers

### What is the difference between Docker and Kubernetes?

Docker packages an application and its dependencies into a container and runs that container on a single machine, but it does not handle crashes, scaling across machines, or networking between containers. Kubernetes runs across a cluster of machines and automatically decides where containers run, restarts crashed ones, scales to a desired replica count, and lets containers find each other even as they move between machines.

_daily.dev surfaces explainers like this for developers mapping out how Docker and Kubernetes fit together._

### What happens internally when I run kubectl apply -f app.yaml against a Kubernetes deployment?

The YAML is sent as an HTTP request to the API server, which validates syntax and permissions, then writes the desired state into etcd, the cluster's key-value source of truth. No container starts yet at this point. The Scheduler then assigns each Pod to a Node based on available resources, and the Kubelet on that Node pulls the image and starts the container via the runtime like containerd.

_understanding this request flow helps developers debug why a kubectl apply on Kubernetes isn't behaving as expected._

### How does Kubernetes automatically restart a crashed Pod without me doing anything?

A Deployment Controller runs continuously, comparing how many Pods actually exist against how many should exist according to etcd. When a Pod crashes or a Node dies and the count drops below the desired replica number, the controller detects the mismatch within seconds and creates a brand-new Pod, possibly on a different Node, rather than trying to restart the broken one.

_developers relying on Kubernetes self-healing can find deeper reconciliation-loop explainers through daily.dev._

## Similar posts on daily.dev

- [Kubernetes Explained: A Beginner’s Guide to Containers, Pods, and Orchestration](https://daily.dev/posts/kubernetes-explained-a-beginner-s-guide-to-containers-pods-and-orchestration-ujbvoicme) · Medium · 4 upvotes · 0 comments
- [A Beginner's Guide to Kubernetes](https://daily.dev/posts/a-beginner-s-guide-to-kubernetes-ucyxczyo1) · MetalBear · 0 upvotes · 0 comments
- [Lesson 1: Why Kubernetes Exists](https://daily.dev/posts/lesson-1-why-kubernetes-exists-gi49vi1dw) · Medium · 3 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#docker](https://daily.dev/tags/docker), [#containers](https://daily.dev/tags/containers), [#orchestration](https://daily.dev/tags/orchestration)

[View this post on daily.dev](https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Musicians play their instruments. I play the orchestra.","url":"https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s"},"datePublished":"2026-07-25T19:33:56.339Z","dateModified":"2026-09-13T19:28:53.595Z","description":"A beginner-friendly introduction to Kubernetes explaining why it exists and how it works. Covers the limitations of Docker alone when managing containers at...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a193e6aa9c246a4e2f2a6f09f771c70c?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a193e6aa9c246a4e2f2a6f09f771c70c?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,docker,containers,orchestration","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"Musicians play their instruments. I play the orchestra."}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/musicians-play-their-instruments-i-play-the-orchestra--xluq98d6s#faq","mainEntity":[{"@type":"Question","name":"What is the difference between Docker and Kubernetes?","acceptedAnswer":{"@type":"Answer","text":"Docker packages an application and its dependencies into a container and runs that container on a single machine, but it does not handle crashes, scaling across machines, or networking between containers. Kubernetes runs across a cluster of machines and automatically decides where containers run, restarts crashed ones, scales to a desired replica count, and lets containers find each other even as they move between machines. daily.dev surfaces explainers like this for developers mapping out how Docker and Kubernetes fit together."}},{"@type":"Question","name":"What happens internally when I run kubectl apply -f app.yaml against a Kubernetes deployment?","acceptedAnswer":{"@type":"Answer","text":"The YAML is sent as an HTTP request to the API server, which validates syntax and permissions, then writes the desired state into etcd, the cluster's key-value source of truth. No container starts yet at this point. The Scheduler then assigns each Pod to a Node based on available resources, and the Kubelet on that Node pulls the image and starts the container via the runtime like containerd. understanding this request flow helps developers debug why a kubectl apply on Kubernetes isn't behaving as expected."}},{"@type":"Question","name":"How does Kubernetes automatically restart a crashed Pod without me doing anything?","acceptedAnswer":{"@type":"Answer","text":"A Deployment Controller runs continuously, comparing how many Pods actually exist against how many should exist according to etcd. When a Pod crashes or a Node dies and the count drops below the desired replica number, the controller detects the mismatch within seconds and creates a brand-new Pod, possibly on a different Node, rather than trying to restart the broken one. developers relying on Kubernetes self-healing can find deeper reconciliation-loop explainers through daily.dev."}}]}
```

