Deploying a single container is simple. Deploying ten is manageable. But once you are running hundreds of containers across dozens of machines, manual management stops being difficult and starts being impossible. You lose track of which container lives where. A server dies, and your application vanishes until someone wakes up to restart it. Traffic spikes overwhelm your setup before you can spin up new instances. This is exactly where Kubernetes enters the picture. It is not just another DevOps tool. It is an orchestration layer that treats container management as a control problem rather than a scripting exercise.
Why Scripts Eventually Break
Most teams start with shell scripts or basic automation. They write commands to pull images, start containers, watch logs, and restart failed processes. That approach works for a proof of concept. It collapses under real-world load. Microservices talk to each other across different hosts, rely on specific environment variables, need persistent storage that survives container restarts, and expect consistent networking between versions. A script cannot automatically reschedule a workload when a virtual machine disappears. It cannot distribute network traffic among healthy instances while bypassing the ones that are stuck in a crash loop. Kubernetes solves this by making the cluster itself responsible for those decisions. You describe what you want, and the system enforces that state continuously.
The Three Things It Gives You
Kubernetes delivers three core capabilities that replace manual firefighting with automated reliability.
High availability means your applications stay online even when parts of your infrastructure fail. If a container crashes, Kubernetes replaces it within seconds. If an entire worker node goes dark, the scheduler notices the missing heartbeat and moves the affected workloads to healthy machines elsewhere in the cluster. The system maintains a constant watch over the desired state you defined, correcting deviations without human intervention.
Scalability means your applications grow alongside your users. Instead of provisioning twenty servers just to survive a two-hour traffic peak, you define metrics that matter, like CPU usage or request latency, and let the cluster add more container instances when thresholds are crossed. When demand drops, the replica count shrinks again. You pay for what you need, when you need it.
Disaster recovery means your data and configuration return after a crash. Kubernetes stores the entire cluster state in a distributed key-value store. If a catastrophic failure wipes out worker nodes or even part of the control plane, that stored state allows the system to rebuild your workloads exactly as they were configured. Your data comes back because the orchestrator remembers what it was supposed to look like.
The Setup: Brains and Muscle
A Kubernetes cluster has two fundamental角色 that the draft describes as brain and muscle, and that analogy holds up well in practice.
The Master Node is the brain. It does not run your customer-facing applications. Instead, it hosts the control plane components that schedule tasks, manage cluster state, and respond to changes. When you issue a command or submit a configuration file, the master node decides where the workload should live, whether it is healthy, and what to do when it is not.
The Worker Nodes are the muscle. Each worker runs a lightweight agent that communicates with the master and uses a container runtime to execute the actual pods. These nodes are where your application code consumes CPU and memory. Add more worker nodes, and your cluster gains raw capacity. Add more master nodes configured for redundancy, and your control plane becomes resilient to individual hardware failures.
Pods, Containers, and Services
To work with Kubernetes, you need to understand three terms that define how software is packaged and reached.
Containers are the packages that bundle your application with its dependencies, libraries, and configuration. They isolate software from the underlying host so it runs the same way in development, staging, and production.
Pods என்பவை Kubernetes-இல் மிகச்சிறிய முறையில் பயன்படுத்தக்கூடிய (deployable) அலகுகள் ஆகும். வளங்களைப் (resources) பகிர்ந்து கொள்ள வேண்டிய ஒன்று அல்லது அதற்கு மேற்பட்ட கொள்கலன்களை (containers) ஒரு pod உள்ளடக்கியது. அவை ஒரே நெட்வொர்க் நேம்ஸ்பேஸைப் (network namespace) பகிர்ந்து கொள்கின்றன மற்றும் ஒரே உள்ளூர் சேமிப்பு வால்யூம்களை (local storage volumes) அணுக முடியும். இது முக்கியமானது: நீங்கள் ஒரு கொள்கலனை (container) நேரடியாகப் பயன்படுத்த முடியாது. அதற்குப் பதிலாக, அதை உள்ளடக்கிய ஒரு pod-ஐயே நீங்கள் deploy செய்கிறீர்கள். Pods திட்டமிட்டே தற்காலிகமானவை (ephemeral). சூழ்நிலைகள் மாறும்போது அவை உருவாக்கப்படுகின்றன, அழிக்கப்படுகின்றன மற்றும் மாற்றப்படுகின்றன. அவற்றின் ஆயுட்காலம் வடிவமைப்பிலேயே மாறும் தன்மையுடையது (dynamic).
Services இருப்பதால் தான் pods தற்காலிகமானவை. ஒவ்வொரு முறை ஒரு pod மறுதொடக்கம் (restart) செய்யப்படும் போதும், அது பெரும்பாலும் ஒரு புதிய உள்முக IP முகவரியைப் பெறும். உங்கள் பயன்பாட்டின் (application) பிற பகுதிகள் அந்த மாறிக்கொண்டே இருக்கும் முகவரிகளை நேரடியாகத் தொடர்பு கொள்ள முயன்றால், அவை தொடர்ந்து செயலிழந்துவிடும். ஒரு service உங்கள் pods-க்கு நிலையான IP முகவரி மற்றும் DNS பெயரை வழங்குகிறது. இது ஒரு நிலையான நுழைவாயிலாகச் செயல்பட்டு, அதன் selector-க்கு பொருந்தும் அனைத்து ஆரோக்கியமான (healthy) pods-களுக்கும் வரும் கோரிக்கைகளை (requests) சமமாகப் பகிர்ந்து அளிக்கிறது (load-balancing). இது தனிப்பட்ட கொள்கலன்களின் வாழ்க்கைச் சுழற்சியினால் ஏற்படும் குழப்பங்களிலிருந்து உங்கள் கிளையன்ட்களை (clients) விடுவிக்கிறது.
பெரிய அளவிலான Kubernetes: Netflix உதாரணம்
Netflix தனது உள்ளடக்க விநியோக வலையமைப்பை (content delivery network) நிர்வகிக்க Kubernetes-ஐப் பயன்படுத்துகிறது. இந்த உள்கட்டமைப்பு உலகம் முழுவதும் உள்ள மில்லியன் கணக்கான பார்வையாளர்களுக்கு ஒரே நேரத்தில் வீடியோ ஸ்ட்ரீம்களை (video streams) வழங்குகிறது. ஒரு பிரபலமான நிகழ்ச்சி வெளியாகித் தேவை அதிகரிக்கும் போது, பயனர்களுக்கு அருகிலேயே வீடியோ துண்டுகளைச் சேமித்து வைக்கும் cache nodes-களைக் கிளஸ்டர் (cluster) விரிவுபடுத்துகிறது (scales out). ஒரு பிராந்திய நோட் (regional node) செயலிழந்தால், போக்குவரத்து (traffic) தானாகவே மாற்றி அமைக்கப்படுகிறது. இதன் விளைவாக, ஒரு பொறியாளருக்கு அவசர அழைப்பு அனுப்பாமலேயே மில்லியன் கணக்கான மக்களுக்குத் தொடர்ந்து திரைப்படங்கள் இயங்குகின்றன. Orchestrator அளவையும் தோல்வியையும் கையாளுவதால், சேவைத் தடைபடாமல் தொடர்கிறது.
தொடக்கம்: YAML, JSON மற்றும் API Server
Kubernetes-ஐத் தொடங்குவது என்பது கட்டளை சார்ந்த (imperative click-ops) முறையைக் கைவிட்டு, அறிவிப்பு சார்ந்த (declarative configuration) முறையை ஏற்றுக்கொள்வதாகும். நீங்கள் எதைச் செய்ய விரும்புகிறீர்களோ அதை YAML அல்லது JSON கோப்புகளில் எழுதுகிறீர்கள். இந்த மேனிஃபெஸ்ட்கள் (manifests) கொள்கலன் இமேஜ் (container image) முதல் ரெப்ளிகாக்களின் (replicas) எண்ணிக்கை, திறக்கப்பட்ட போர்ட்கள் (exposed ports), சூழல் மாறிகள் (environment variables) மற்றும் சேமிப்பு மவுண்ட்கள் (storage mounts) வரை அனைத்தையும் விவரிக்கின்றன. உங்கள் கோப்பு தயாரானதும், அதை மாஸ்டர் நோடில் (master node) உள்ள API server-க்கு அனுப்புகிறீர்கள். Control plane அந்த அறிவிப்பை ஏற்றுக்கொண்டு, அதை கிளஸ்டர் நிலைத் தரவுத்தளத்தில் (cluster state database) சேமித்து, பின்னர் உங்கள் விளக்கத்திற்கு ஏற்ப யதார்த்தத்தை உருவாக்கத் தொடங்குகிறது. Kubernetes தனது வேலையை எப்படிச் செய்ய வேண்டும் என்று நீங்கள் துல்லியமாகச் சொல்லத் தேவையில்லை. இறுதி முடிவு எப்படி இருக்க வேண்டும் என்று சொன்னால் போதும், அதுவே அதற்கான வழிமுறைகளைக் கண்டறியும்.
உண்மையான பயன்
Kubernetes-ஐக் கற்றுக்கொள்வதற்குச் சற்று காலம் எடுக்கும். ஆரம்பத்தில் அதன் கலைச்சொற்கள் கடினமாகத் தோன்றலாம். இதில் பல நகரும் பாகங்கள் உள்ளன, மேலும் ஒரு விநியோகிக்கப்பட்ட அமைப்பை (distributed system) பிழைத்திருத்தம் (debugging) செய்வது ஒரு தனிச் சேவையகத்தை விட இயல்பாகவே கடினமானது. ஆனால் அதன் பலன் செயல்பாட்டு அமைதி (operational calm) ஆகும். நீங்கள் தனித்தனி இயந்திரங்களைக் கண்காணிப்பதை நிறுத்திவிடுவீர்கள். அதிகாலை 3 மணி நேரத் தடங்கலின் போது உங்கள் ஸ்டார்ட்அப் ஸ்கிரிப்ட்கள் (startup scripts) வேலை செய்யும் என்று பிரார்த்தனை செய்வதை நிறுத்திவிடுவீர்கள். நோட்கள் செயலிழக்கக்கூடும் என்று கருதி, இயல்பாகவே தோல்விகளுக்காக வடிவமைக்கத் தொடங்குவீர்கள், மேலும் உங்கள் பயன்பாட்டைச் சிதையாமல் வைத்திருக்க orchestrator-ஐ நம்புவீர்கள். எதுவும் உடையக்கூடாது என்று நம்புவதிலிருந்து, சிதைவுகளைக் கூடக் கையாளும் திறன் இந்த அமைப்பிற்கு உண்டு என்று அறிந்துகொள்ளும் அந்த மனநிலை மாற்றம் தான் இந்த முயற்சியை அர்த்தமுள்ளதாக்குகிறது.
Source: What Is Kubernetes? Kubernetes Explained in 15 Mins
Optional learning community: GyaanSetu AI on Telegram
