Bosh sahifa Wiki OpenStack

OpenStack

OpenStack — private va public cloud infratuzilmasini qurish uchun mo‘ljallangan ochiq kodli platforma. U compute, network, block storage, object storage, image, identity va orchestration xizmatlarini alohida komponentlar orqali boshqaradi.

OpenStack ko‘pincha tashkilotning o‘z data centerida Infrastructure as a Service yaratish uchun ishlatiladi.

Modular architecture

OpenStack monolit dastur emas.

Asosiy xizmatlar API orqali bir-biri bilan ishlaydi.

Operator kerakli komponentlarni tanlaydi.

Bu moslashuvchanlik beradi, ammo deployment, upgrade va troubleshootingni murakkablashtiradi.

Nova

Nova compute instance lifecycle’ini boshqaradi.

U:

  • instance create;
  • schedule;
  • stop;
  • resize;
  • migrate;
  • terminate

jarayonlarini orkestratsiya qiladi.

Hypervisor bilan maxsus driver orqali aloqa qiladi.

Nova image yoki networkning o‘zini saqlamaydi.

Neutron

Neutron networking xizmatidir.

U:

tushunchalarini boshqaradi.

Backend Open vSwitch, OVN yoki vendor solution bo‘lishi mumkin.

Cinder

Cinder block storage volume’larini boshqaradi.

Volume VMga attach qilinadi.

Backend:

bo‘lishi mumkin.

Snapshot, clone va type orqali performance class taqdim etiladi.

Swift

Swift distributed object storage tizimidir.

U objectni account, container va object modelida saqlaydi.

Replication va eventual consistencyga yaqin modeldan foydalanadi.

Bu dasturlash tili Swift bilan bir xil tushuncha emas.

Glance

Glance virtual machine image katalogini boshqaradi.

Image metadata va content backend storage’da saqlanadi.

Format va visibility policy mavjud.

Nova instance yaratishda Glance image’dan foydalanadi.

Keystone

Keystone identity, authentication va service catalogni boshqaradi.

Tushunchalar:

Boshqa OpenStack service’lar tokenni tekshiradi.

Horizon

Horizon web dashboard orqali cloud resurslarini boshqarish imkonini beradi.

User instance, network, volume va image bilan ishlashi mumkin.

Dashboard API ustida ishlaydi.

Operator barcha advanced settinglarni faqat Horizon orqali boshqarmasligi mumkin.

Project

Project tenantga yaqin resource boundary.

User role orqali project ichidagi resursga kiradi.

Quota project bo‘yicha belgilanadi.

Development va production uchun alohida project ishlatilishi mumkin.

Flavor

Flavor instance uchun virtual hardware profilini belgilaydi:

  • vCPU;
  • RAM;
  • root disk;
  • ephemeral disk;
  • extra spec.

Extra spec NUMA, huge page yoki accelerator placementga ta’sir qilishi mumkin.

Image

Instance boot qilish uchun OS image ishlatiladi.

Image cloud-initga tayyor bo‘lishi mumkin.

Driver, agent va partition layout hypervisorga mos bo‘ladi.

Golden image security patch bilan muntazam yangilanadi.

Availability zone

Compute host va storage backend mantiqiy zonalarga ajratilishi mumkin.

User instance yoki volume uchun zone tanlaydi.

OpenStackdagi zone har doim public cloud’dagi fizik mustaqillik darajasini avtomatik kafolatlamaydi.

Operator topology’ni belgilaydi.

Scheduler

Nova scheduler instance’ni mos compute hostga joylashtiradi.

Filter va weigher:

signalidan foydalanishi mumkin.

Noto‘g‘ri overcommit performance muammosi yaratadi.

Hypervisor

KVM keng ishlatiladigan hypervisor backendlaridan biri.

Boshqa hypervisor driverlari ham bo‘lishi mumkin.

Compute node virtualization extension, bridge va storage accessga ega bo‘ladi.

Live migration shared yoki replicated storagega bog‘liq.

Message queue

OpenStack service’lari asynchronous RPC va event uchun message broker ishlatishi mumkin.

Broker failure control plane operationlarini to‘xtatadi.

HA, authentication va queue monitoring muhim.

Duplicate message idempotent operation talab qiladi.

Database

Control plane service’lari state’ni relational database’da saqlaydi.

Database cluster va migration upgrade uchun kritik.

Har service schema versioniga ega.

Manual table edit unsupported holat yaratishi mumkin.

API

Har component RESTga yaqin API taqdim etadi.

Command-line client va automation shu API’dan foydalanadi.

Microversion clientga ma’lum API behaviorini tanlashga yordam berishi mumkin.

Token va endpoint service catalogdan olinadi.

Deployment

OpenStackni qo‘lda o‘rnatish murakkab.

Automation vositalari:

ishlatilishi mumkin.

Network, storage va certificate design oldindan rejalashtiriladi.

Upgrade

Komponentlar bir-biriga mos versionlarda yangilanadi.

Rolling upgrade ayrim xizmatlarda qo‘llanishi mumkin.

Database migration, API compatibility va message format muhim.

Upgrade staging environmentda sinovdan o‘tadi.

Private cloud

OpenStack data sovereignty, custom hardware va katta barqaror workload uchun private cloud beradi.

Biroq hardware, operator jamoa, capacity va 24/7 support xarajati tashkilot zimmasida.

Public cloud billing bilan to‘g‘ridan-to‘g‘ri solishtirishda total cost hisoblanadi.

Heat

Heat template asosida OpenStack resurslarini orchestration qiladi. Stack ichida instance, network, volume va dependencylar deklarativ yoziladi. Update plan resource replacementga olib kelishi mumkin, shu sababli production data resource’lari ehtiyotkor belgilanadi.

Telemetry

Metric va eventlarni yig‘ish uchun alohida telemetry komponentlari ishlatilishi mumkin. Billing, capacity va alarm shu ma’lumotga tayanadi. Katta cloud’da telemetryning o‘zi katta storage workloadga aylanadi.

Multi-tenancy

Projectlar bir physical clusterdan foydalanadi. Network isolation, quota va scheduler noisy neighbor ta’sirini kamaytiradi. Host aggregate ayrim workloadlarni maxsus hardwarega ajratishi mumkin.

Operatsion jamoa

Private cloud uchun compute, network, storage, database va security bo‘yicha aniq ownership kerak. Control plane ishlashi, capacity va upgrade doimiy kuzatiladi.

Bog‘liq tushunchalar

OpenStack, Nova, Neutron, Cinder, Swift Object Storage, Glance, Keystone, Horizon, Private cloud, Hypervisor, Infrastructure as a Service