Similar presentations:
10-mavzu
1. Virtualizatsiya va konteyner texnologiyalari (Docker, Kubernetes)
2.
• Hozirgi kunda axborot texnologiyalari juda tez rivojlanmoqda. Korxonalar,banklar, universitetlar, internet xizmatlari va bulutli platformalar juda katta
hajmdagi server resurslaridan foydalanadi. Dastlab har bir dastur yoki
xizmat uchun alohida fizik server ishlatilgan. Masalan, bitta server faqat
web sayt uchun, boshqa server esa ma’lumotlar bazasi uchun xizmat qilgan.
Bunday yondashuv juda qimmat va samarasiz bo‘lgan, chunki serverlarning
ko‘p qismi o‘z resurslaridan to‘liq foydalanmagan.
• Masalan, fizik serverning protsessori 10–15% ishlashi mumkin, qolgan qismi
esa bekor turadi. Bundan tashqari, ko‘p server ishlatilgani sababli elektr
energiyasi sarfi ortadi, sovutish tizimlari murakkablashadi va texnik xizmat
xarajatlari oshadi. Shu muammolarni hal qilish maqsadida virtualizatsiya
texnologiyasi yaratildi.
• Virtualizatsiya yordamida bitta fizik server ichida bir nechta virtual serverlar
yaratish mumkin bo‘ldi. Keyinchalik esa konteyner texnologiyalari paydo
bo‘lib, dasturlarni yanada tez, yengil va xavfsiz ishlatish imkoniyati yaratildi.
Docker va Kubernetes bugungi kunda eng mashhur konteyner
texnologiyalari hisoblanadi.
3.
• Virtualizatsiya — bu fizik kompyuter resurslarini dasturiy usul orqali birnechta virtual muhitlarga ajratish texnologiyasidir. Bu texnologiya
yordamida bitta fizik serverda bir nechta operatsion tizimlarni bir vaqtning
o‘zida ishga tushirish mumkin bo‘ladi.
• Masalan, bitta kuchli serverda:
• Windows Server,
• Ubuntu Linux,
• CentOS,
• Debian
• kabi turli operatsion tizimlar birgalikda ishlashi mumkin.
• Har bir virtual mashina o‘zini alohida haqiqiy kompyuter deb hisoblaydi.
Ularning protsessori, operativ xotirasi, disk maydoni va tarmoq interfeysi
virtual tarzda taqdim etiladi.
4.
• VIRTUAL MASHINA (VM)• Virtual Machine yoki VM — bu dasturiy yaratilgan kompyuter hisoblanadi.
VM ichida operatsion tizim o‘rnatiladi va oddiy kompyuter kabi ishlaydi.
• Masalan:
• virtual Ubuntu server,
• virtual Windows server,
• virtual Linux server
• yaratish mumkin.
• Har bir virtual mashina:
• mustaqil ishlaydi,
• o‘z operatsion tizimiga ega bo‘ladi,
• boshqa VM’lardan izolyatsiyalangan bo‘ladi.
• Agar bitta VM ishdan chiqsa, boshqa VM’lar ishlashda davom etadi.
5.
• GIPERVIZOR• Virtual mashinalarni boshqaruvchi maxsus dastur gipervizor deb ataladi.
Gipervizor fizik resurslarni virtual mashinalarga taqsimlaydi.
• Gipervizor ikki turga bo‘linadi.
• 1-tip gipervizor
• Bu turdagi gipervizor to‘g‘ridan-to‘g‘ri apparat ustida ishlaydi. U juda tez
va samarali hisoblanadi.
• Misollar:
• VMware ESXi,
• Hyper-V,
• Xen Server.
• Bu tur odatda data markazlarda ishlatiladi.
6.
• 2-tip gipervizor• Bu turdagi gipervizor operatsion tizim ustida ishlaydi.
• Misollar:
• VirtualBox,
• VMware Workstation.
• Odatda test va o‘quv maqsadlarida ishlatiladi.
7.
• VIRTUALIZATSIYA TURLARI• To‘liq virtualizatsiya
• Bu usulda guest operatsion tizim haqiqiy apparatda ishlayotganini
“o‘ylaydi”. Gipervizor barcha apparat qismlarini emulyatsiya qiladi.
• Afzalligi:
• turli operatsion tizimlarni ishlatish mumkin.
• Kamchiligi:
• ko‘proq resurs talab qiladi.
8.
• Paravirtualizatsiya• Bu usulda guest operatsion tizim gipervizor bilan hamkorlikda ishlaydi.
Maxsus drayverlar ishlatiladi.
• Afzalligi:
• tezroq ishlaydi.
• Kamchiligi:
• moslashtirilgan OS kerak bo‘ladi.
9.
• Operatsion tizim darajasidagi virtualizatsiya• Bu usul konteyner texnologiyasining asosidir. Bitta kernel asosida bir
nechta izolyatsiyalangan muhit yaratiladi.
• Masalan:
• Docker containerlar.
• Bu usul juda yengil va tez ishlaydi.
10.
• VIRTUALIZATSIYANING AFZALLIKLARI• Resurslardan samarali foydalanish
• Bitta fizik server ichida bir nechta xizmat ishlaydi. Bu esa protsessor va
xotiradan maksimal foydalanish imkonini beradi.
• Xarajatlarni kamaytirish
• Kamroq server sotib olinadi. Elektr energiyasi va sovutish xarajatlari
kamayadi
• Tez deploy qilish
• Yangi virtual serverni bir necha daqiqada yaratish mumkin.
• Test muhiti yaratish
• Talabalar va dasturchilar test qilish uchun tezda virtual muhit yaratishi
mumkin.
• Backup va migration
• Virtual mashinalarni boshqa serverga ko‘chirish oson bo‘ladi.
11.
• KONTEYNER TEXNOLOGIYASI• Virtual mashinalarning asosiy kamchiligi shundaki, har bir VM ichida
alohida operatsion tizim ishlaydi. Bu esa ko‘p xotira va resurs talab
qiladi.
• Konteyner texnologiyasi bu muammoni hal qildi.
• Konteyner — bu ilova va uning ishlashi uchun kerak bo‘lgan barcha
fayllar, kutubxonalar va konfiguratsiyalar joylashgan izolyatsiyalangan
muhitdir.
• Konteynerlar bitta umumiy operatsion tizim yadrosidan foydalanadi.
Shu sababli ular:
• juda tez ishlaydi,
• kam joy egallaydi,
• tez ishga tushadi.
12.
• VM VA KONTEYNER FARQI• Virtual mashinada:
• har bir VM ichida alohida operatsion tizim bo‘ladi.
• Konteynerda esa:
• umumiy OS kernel ishlatiladi.
• Natijada konteyner:
• yengilroq,
• tezroq,
• kam resurs talab qiladi.
• Masalan:
• VM bir necha GB joy egallashi mumkin,
• konteyner esa bir necha MB bo‘lishi mumkin.
13.
• DOCKER TEXNOLOGIYASI• Docker — konteynerlarni yaratish va boshqarish platformasi hisoblanadi.
• Docker dasturchilar orasida juda mashhur, chunki u ilovani har qanday
muhitda bir xil ishlashini ta’minlaydi.
• Ko‘pincha dasturchilar:
“Meniki ishlayapti” degan muammoga duch keladi. Ya’ni dastur bir
kompyuterda ishlaydi, boshqasida esa ishlamaydi.
• Docker bu muammoni hal qiladi.
• Docker yordamida:
• dastur,
• kutubxonalar,
• konfiguratsiyalar
• bir konteyner ichiga joylashtiriladi.
• Natijada konteyner qayerda ishga tushirilsa ham bir xil ishlaydi.
14.
• DOCKER ARXITEKTURASI• Docker quyidagi asosiy qismlardan tashkil topgan.
• Docker Engine
• Docker’ning asosiy xizmat qismi hisoblanadi. U containerlarni
boshqaradi.
• Docker Image
• Docker image — bu tayyor shablon.
• Masalan:
• Ubuntu image,
• Nginx image,
• MySQL image.
• Image asosida container yaratiladi.
15.
• Docker Container• Container — image’ning ishlayotgan holati.
• Docker Hub
• Docker Hub — tayyor imagelar saqlanadigan onlayn platforma.
• Masalan:
• nginx,
• mysql,
• redis
• imagelarini yuklab olish mumkin.
• DOCKERFILE
• Dockerfile — image yaratish uchun yoziladigan maxsus fayl.
16.
• KUBERNETES TEXNOLOGIYASI• Kubernetes — konteynerlarni avtomatik boshqarish platformasi
hisoblanadi.
• Kubernetes Google tomonidan yaratilgan.
• Kubernetes minglab containerlarni boshqarish imkonini beradi.
• Masalan:
• containerlarni avtomatik ishga tushirish,
• scaling,
• monitoring,
• load balancing,
• self-healing.
17.
• KUBERNETES CLUSTER• Kubernetes cluster ikki qismdan iborat bo‘ladi.
• Master Node
• Boshqaruv markazi hisoblanadi.
• U:
• buyruqlarni qabul qiladi,
• containerlarni boshqaradi,
• monitoring qiladi.
• Worker Node
• Containerlar aynan shu node ichida ishlaydi.
18.
• KUBERNETES ASOSIY OBYEKTLARI• Pod
• Pod — Kubernetes’dagi eng kichik deploy birligi.
• Pod ichida:
• bitta yoki bir nechta container ishlashi mumkin.
• Deployment
• Deployment podlarni boshqaradi.
• Masalan:
• replica yaratish,
• update qilish,
• rollback.
19.
• Service• Service podlarga tarmoq orqali murojaat qilish imkonini beradi.
software