**Kubernetes** – asl versiya Google kompaniya Google tomonidan ichki ehtiyojlar uchun ishlab chiqilgan va tizim keyinchalik **Cloud Native** Computing Foundation boshqaruviga oʻtkazilgan. Bir qator yirik tashkilotlar va Internet-loyihalari tomonidan foydalaniladi, xususan, Vikimedia fondi infratuzilmasini tashkil etish uchun mustaqil ishlab chiqilgan dasturiy taʼminotdan Kubernetesga oʻtkazildi.

„Kubernetes" soʻzi qadimgi yunoncha: *kybetasrnkhtķs* – rul boshqaruvchisi soʻzidan kelib chiqqan.

Tarixi
------

Google ichki tizimining birinchi versiyalarining asosiy ishlab chiquvchilari dasturchilar **Jo Beda** (*Jo Beda*), Brendan Berns (*Brendan Berns*) va Kreyg MakLukki lang edi),Keyinchalik ularning hamkasblari Brayan Grant (*Brian Grant*) va Tim Xokkin (*Tim Xokkin*) loyihaga qoʻshilishdi. Tizimning asosiy dasturlash tili bu Go. Kubernetesning rivojlanishi va ichki mafkurasiga ichki ishlanma boʻlib qolgan yana bir Google mahsuloti – Google Borg klasterni boshqarish tizimi jiddiy taʼsir koʻrsatdi, Kubernetesning bir qator asosiy ishlab chiquvchilari avval ishlagan.

Loyihaning asl nomi „Yettinchi loyiha"dir Star Trek seriyasining Seven of Nine qahramoniga ishora, oʻzining shaxs sifatidagi maqomidan individual va insonlar uchun qulay holatga qaytgan.

2016-yil 19-dekabrda boshqaruv mexanizmi sifatida Docker oʻrnini bosuvchi Container Runtime Interface (CRI) taqdim etildi. Dasturlashtirish bu nafaqat Docker uchun, balki boshqa mos keladigan vositalarini ham qoʻllab-quvvatlaydi.

Nazorat quyi tizimi
-------------------

Boshqaruv quyi tizimi aloqa va klaster ichida yuk taqsimotini taʼminlaydi; quyi tizimning tarkibiy qismlari bir yoki bir nechta parallel ishlaydigan asosiy tugunlarda bajarilishi mumkin, bu esa rejimni birgalikda taʼminlaydi.

Rejalashtiruvchi (*scheduler*) boshqaruv quyi tizimining tarkibiy qismi boʻlib, u manbalar mavjudligi mezonlari asosida maʼlum bir podkast qaysi tugunda ishlashini tanlaydi. Rejalashtiruvchi har bir tugundagi resurslardan foydalanishni kuzatib boradi, bu esa mavjud resurslardan oshmasligi uchun yukning taqsimlanishini taʼminlaydi. Buning uchun rejalashtiruvchi har bir tugunda mavjud boʻlgan resurslar, boshqariladigan podslardan ularga qoʻyiladigan talablar, shuningdek, QoS, Affinity talablari va kabi turli xil qoʻshimcha foydalanuvchi cheklovlari va siyosatlari haqida maʼlumotga ega boʻlishi kerak. Afinitetga qarshi talablar (*affinity - anti-affinity* – ulanishlar yoki boshqaruv ob’ektlarini bir-biridan ajratish). Boshqacha qilib aytganda, rejalashtiruvchining vazifasi yuk soʻrovlari asosida resurslarni topish va taʼminlashdan iboratdir.

Raqobat va tarqatish
--------------------

  

Ularni boshqarish tizimining koʻplab sotuvchilari oʻz mahsulotlarida Kubernetes-ni qoʻllab-quvvatlashni amalga oshirdilar va ularning bir qismi The Linux Foundation Cloud Native Computing Foundati CNCF da ishtirok etdi. Xususan, Rancher Labs konteynerlarni boshqarish tizimi Rancher konteynerlarni boshqarish platformasini tarqatishda Kubernetesni oʻz ichiga oladi.

Manbalar
--------

1. ↑  „Google Made Its Secret Blueprint Public to Boost Its Cloud" (en). 1-iyul 2016-yilda asl nusxadan arxivlandi. Qaraldi: 27-iyun 2016-yil.
2. ↑  Abhishek Verma; Luis Pedrosa; Madhukar R. Korupolu; David Oppenheimer; Eric Tune; John Wilkes (4 2015) (und). *Large-scale cluster management at Google with Borg* (Proceedings of the European Conference on Computer Systems (EuroSys) nashri).. "21"
3. ↑  „Borg, Omega, and Kubernetes - ACM Queue". *queue.acm.org*. 9-iyul 2016-yilda asl nusxadan arxivlandi. Qaraldi: 27-iyun 2016-yil.
4. ↑  „Container Runtime Interface (CRI) | Kubernetes". 20-sentyabr 2022-yilda asl nusxadan arxivlandi. Qaraldi: 19-sentyabr 2022-yil.
5. ↑  „Deploy and Manage Kubernetes Clusters | Rancher Labs" (en). *Rancher Labs*. 16-aprel 2017-yilda asl nusxadan arxivlandi. Qaraldi: 15-aprel 2017-yil.