Kubernetes




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




uz.wikipedia.org

Uzpedia.uz