Kubernetes

Vikipediya, ochiq ensiklopediya
Kubernetes
MuallifGoogle
Ishlab chiqaruvchiCloud Native Computing Foundation
Eng so‘nggi versiyasi / 0.2[1] / 9-sentyabr, 2014-yil (9 yil avval) (2014-09-09)
JanrKlasterni boshqarish dasturi
LitsenziyaApache License 2.0
Vebsayt:kubernetes.io
Dasturlash tili:Go

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[tahrir | manbasini tahrirlash]

Google ichki tizimining birinchi versiyalarining asosiy ishlab chiquvchilari dasturchilar Jo Beda (Jo Beda), Brendan Berns (Brendan Berns) va Kreyg MakLukki lang edi[2]), 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[3][4], 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[5]. Dasturlashtirish bu nafaqat Docker uchun, balki boshqa mos keladigan vositalarini ham qoʻllab-quvvatlaydi.

Nazorat quyi tizimi[tahrir | manbasini tahrirlash]

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[tahrir | manbasini tahrirlash]

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[6].

Manbalar[tahrir | manbasini tahrirlash]

  1. „v0.2“. github.com (2014-yil 9-sentyabr).
  2. „Google Made Its Secret Blueprint Public to Boost Its Cloud“ (en). 2016-yil 1-iyulda asl nusxadan arxivlangan. Qaraldi: 2016-yil 27-iyun.
  3. Abhishek Verma; Luis Pedrosa; Madhukar R. Korupolu; David Oppenheimer; Eric Tune; John Wilkes. Large-scale cluster management at Google with Borg(aniqlanmagan) // Proceedings of the European Conference on Computer Systems (EuroSys). — 2015. — 21 April. Архивировано 27 iyul 2017 года.
  4. „Borg, Omega, and Kubernetes - ACM Queue“. queue.acm.org. 2016-yil 9-iyulda asl nusxadan arxivlangan. Qaraldi: 2016-yil 27-iyun.
  5. „Container Runtime Interface (CRI) | Kubernetes“. 2022-yil 20-sentyabrda asl nusxadan arxivlangan. Qaraldi: 2022-yil 19-sentyabr.
  6. „Deploy and Manage Kubernetes Clusters | Rancher Labs“ (en). Rancher Labs. 2017-yil 16-aprelda asl nusxadan arxivlangan. Qaraldi: 2017-yil 15-aprel.