Node — tarmoq, cluster yoki distributed tizimda mustaqil qatnashuvchi hisoblash nuqtasi. U fizik server, virtual mashina, router, storage qurilmasi yoki dasturiy process bo‘lishi mumkin. Atamaning aniq ma’nosi tizim kontekstiga bog‘liq: Kubernetes node’i workload yuritadi, database node’i esa ma’lumot saqlashi yoki query bajarishi mumkin.
Identifikatsiya va a’zolik
Node hostname yoki IP bilan tenglashtirilmasligi kerak. IP o‘zgarishi, bitta hostda ko‘p node process bo‘lishi yoki node qayta yaratilganda eski nom saqlanishi mumkin. Distributed tizim barqaror node ID, sertifikat yoki membership yozuvi orqali identity’ni belgilaydi.
Join jarayonida node bootstrap credential bilan control plane’ga murojaat qiladi, o‘z imkoniyatlarini bildiradi va ishonchli a’zoga aylanadi. Leave rejalashtirilgan chiqish, failure esa aloqa yoki health yo‘qolishi. Membership tizimi ikkalasini farqlashi va stale a’zoni tozalashi kerak.
Node rollari
Bir clusterda rollar ajratilishi mumkin:
- control node konfiguratsiya va qarorlarni boshqaradi;
- worker node application workloadni yuritadi;
- storage node ma’lumot shard yoki replica’sini saqlaydi;
- gateway node tashqi trafikni qabul qiladi;
- witness node data saqlamasdan quorum qarorida qatnashadi.
Bitta qurilma bir nechta rolni bajarishi mumkin, ammo failure domain va security ta’siri kengayadi. Kichik test clusterda rollarni birlashtirish, productionda ajratish odatiy.
Resurs va scheduling
Orchestrator node’ning allocatable CPU, memory, storage va maxsus acceleratorlarini hisoblaydi. Tizim daemonlari va operatsion tizim sarfi total capacity’dan ayriladi. Workload request’i allocatable resursga sig‘sa scheduler node’ni nomzod qiladi.
| Node holati | Mazmuni |
|---|---|
| Ready | Yangi workload qabul qila oladi |
| NotReady | Agent yoki health signali yo‘q |
| Cordoned | Yangi placement taqiqlangan |
| Draining | Mavjud workload xavfsiz ko‘chirilmoqda |
| Decommissioned | Cluster a’zoligidan chiqarilgan |
Resource pressure’da node disk, memory yoki process ID limiti bo‘yicha signal beradi. Scheduler yangi ishni to‘xtatishi, agent esa priority asosida workloadni evict qilishi mumkin.
Failure domain
Node eng kichik failure domainlardan biri, lekin uning rack, switch, power unit va availability zone’i ham mavjud. Uch replica uch node’da bo‘lsa-yu, barcha node bitta rackda joylashsa rack nosozligiga chidamaydi. Placement topology’ni hisobga oladi.
Node heartbeat yo‘qolishi uning o‘chganini aniq isbotlamaydi. Network partition’da node workloadni yuritishda davom etishi mumkin. Stateful tizim eski node storage’ga yozmasligi uchun fencing yoki lease talab qiladi.
Maintenance
Rejalashtirilgan patch oldidan node cordon qilinadi, so‘ng drain orqali workload ko‘chiriladi. Pod disruption budget bir vaqtda juda ko‘p replica o‘chishini cheklaydi. Local storage yoki singleton workload avtomatik ko‘chmasligi mumkin; operator ularni alohida boshqaradi.
Yangilashdan keyin node health, runtime, network plugin va storage attachment tekshiriladi. Keyin u schedulingga qaytariladi. Barcha node’ni parallel restart qilish quorum va service capacity’ni yo‘qotishi mumkin, shu sabab rolling tartib qo‘llanadi.
Xavfsizlik
Node host darajasida buzilsa undagi workload, secret va service credentiallar xavf ostida qoladi. Minimal OS, patch, secure boot, disk encryption va host firewall blast radius’ni kamaytiradi. Node identity qisqa muddatli sertifikat bilan yangilanadi.
Untrusted workload uchun sandbox yoki alohida node pool ishlatilishi mumkin. Labelning o‘zi security boundary emas; admission policy foydalanuvchining privileged node’ga o‘zicha toleration qo‘shishini cheklaydi.
Kuzatuv
CPU o‘rtachasi bilan birga memory pressure, disk latency, filesystem inode, packet drop, clock sync va agent health kuzatiladi. Node “up” bo‘lsa ham NIC xatosi yoki diskning sekinligi workload p99 latency’sini buzishi mumkin. Hardware eventlar workload metrikalari bilan bog‘lanadi.
Bog‘liq tushunchalar
Cluster, Worker node, Control plane, Scheduler, Failure domain, Heartbeat, Node pool