Kubernetes nima uchun kerak
U qanday vazifani yechadi va usiz buni tunda navbatchi qiladi.
Vazifa
Aytaylik, ilova bir nechta mashinada konteynerlarda ishlaydi. Kerak bo‘lgan narsalar:
- tugun yiqilsa, nusxalar boshqa joyda ko‘tarilsin;
- yuk oshsa, nusxalar ko‘paysin;
- yangi versiya chiqarilganda eskisi to‘xtovsiz almashsin;
- trafik faqat javob berishga tayyor nusxalarga borsin.
Bularning barchasini qo‘lda qilish mumkin. Muammo shundaki, buni tunda soat uchda qilishga to‘g‘ri keladi.
Kerakli holat
Kubernetes buyruqlar bilan emas, kerakli holat tavsifi bilan ishlaydi. Siz «konteynerni ishga tushir» demaysiz — «shu ilovadan uchta replika bo‘lishi kerak» deysiz. Keyin klaster kerakli holatni haqiqiy holat bilan solishtirib, farqni yo‘qotadi.
Shu sababli kubectl delete pod ko‘pincha «ishlamaydi»: pod o‘chadi, kontroller yetishmovchilikni ko‘radi va yangisini yaratadi.
Asosiy obyektlar
| Obyekt | Nimani tasvirlaydi |
|---|---|
| Pod | birga ishga tushadigan bir yoki bir nechta konteyner |
| Deployment | nechta replika kerakligi va ularni yangilash tartibi |
| Service | podlar guruhi uchun barqaror manzil |
| ConfigMap / Secret | konfiguratsiya va sirlar, obrazdan alohida |
| Ingress | tashqi trafik Service’ga qanday kirishi |
Qachon kerak emas
Kubernetes sezilarli murakkablik qo‘shadi. Bitta serverdagi bitta ilova uchun docker compose va systemd vazifani yaxshiroq bajaradi.