Container orchestration — ko‘p hostli muhitda containerlangan ilovalarni joylashtirish, ishga tushirish, tarmoq bilan bog‘lash, masshtablash va tiklashni avtomatlashtiruvchi boshqaruv qatlami. Operator har container’ni qo‘lda qaysi serverda ishlatishni tanlamaydi; desired state e’lon qilinadi, controllerlar real holatni unga moslashtiradi. Kubernetes, Nomad va boshqa platformalar shu vazifalar oilasiga kiradi.
Desired state va reconciliation
Manifestda image, replica soni, resurs talabi, port va health check ko‘rsatiladi. Scheduler mos node’ni topadi, node agent container runtime orqali container yaratadi. Controller real replica sonini kuzatib, yetishmasa yangisini yaratadi yoki ortiqchasini o‘chiradi.
Reconciliation bir martalik script emas, doimiy control loop. Node yo‘qolsa pod boshqa node’da tiklanadi; foydalanuvchi replica sonini o‘zgartirsa controller farqni bartaraf etadi. Bu model tashqi tizim o‘zgartirgan holatni ham keyingi aylanishda tuzatadi.
Asosiy vazifalar
| Vazifa | Mexanizm |
|---|---|
| Placement | Scheduler constraint va capacity asosida node tanlaydi |
| Service discovery | Barqaror nom va virtual endpoint beradi |
| Rollout | Yangi image’ni bosqichma-bosqich almashtiradi |
| Self-healing | Ishlamagan instance’ni qayta yaratadi |
| Scaling | Replica yoki node sonini o‘zgartiradi |
| Configuration | Config va secretni workloadga uzatadi |
Orchestrator ilovaning ichki correctness’ini bilmaydi. Process ishlayotgan bo‘lsa ham noto‘g‘ri javob qaytarishi mumkin; readiness va liveness signallari shu sabab aniq loyihalanadi.
Scheduling va resurslar
Request schedulerga pod uchun minimal CPU va memory ehtiyojini bildiradi. Limit runtime’dagi yuqori chegarani belgilashi mumkin. Request past qo‘yilsa node overcommit bo‘lib pressure yuz beradi; ortiqcha qo‘yilsa bo‘sh capacity ishlatilmaydi.
Affinity tegishli workloadlarni birga, anti-affinity esa failure domainlar bo‘ylab ajratadi. Taint va toleration maxsus node’larni faqat mos vazifalarga saqlaydi. Topology spread replica’larni zone va hostlar bo‘yicha muvozanatlaydi.
Tarmoq va saqlash
Pod IP manzili o‘tkinchi; Service barqaror nom va virtual IP beradi. Ingress yoki gateway tashqi HTTP trafikni route qiladi. Network policy qaysi workload qaysi endpointga ulanishini cheklaydi; default ochiq model lateral harakat xavfini oshiradi.
Stateless pod istalgan node’da qayta yaratilishi mumkin. Stateful workload persistent volume, stable identity, ordered rollout va data replication talab qiladi. Orchestrator volume’ni ulashi mumkin, ammo database consistency va backupni o‘zi avtomatik hal qilmaydi.
Deployment va yangilash
Rolling update eski replica’larni bosqichma-bosqich yangisiga almashtiradi. maxUnavailable va maxSurge capacity bilan xavfni boshqaradi. Readiness o‘tmagan yangi pod trafik olmasligi kerak. Schema migration eski va yangi application versionlari bir muddat birga ishlashini hisobga oladi.
Canary oz trafikni yangi versionga berib, error rate va latency’ni taqqoslaydi. Rollback image’ni qaytarishi mumkin, lekin qaytarib bo‘lmaydigan data migration’ni avtomatik bekor qilmaydi.
Xavfsizlik va multi-tenancy
Image registry’dan imzolangan va tekshirilgan artefakt olinadi. Workload root bo‘lmagan foydalanuvchi, read-only filesystem va minimal capability bilan ishlaydi. Service account ruxsati namespace yoki vazifaga mos cheklanadi; secret manifestdagi oddiy matn sifatida repositoryga kiritilmaydi.
Bir clusterda ishonchsiz tenantlarni ajratish faqat namespace bilan to‘liq ta’minlanmaydi. RBAC, network policy, quota, admission policy va zarur bo‘lsa alohida node yoki cluster ishlatiladi.
Operatsion kuzatuv
Control plane sog‘ligi, scheduler backlog, node pressure, pending pod, restart va rollout holati monitoring qilinadi. Log va metric pod nomi o‘tkinchi bo‘lsa ham service, deployment va trace identifikatori bilan bog‘lanadi.
Orchestration murakkab tizimdir. Kichik workload uchun uning operatsion xarajati foydadan yuqori bo‘lishi mumkin; tanlov workload soni, availability, team tajribasi va avtomatlashtirish ehtiyojiga asoslanadi.
Bog‘liq tushunchalar
Kubernetes, Container, Cluster, Control plane, Scheduler, Service discovery, Desired state