Flexiant Cloud Orchestrator: ол немен бірге келеді

Flexiant Cloud Orchestrator: ол немен бірге келеді

IaaS (Виртуалды деректер орталығы) қызметтерін ұсыну үшін біз Русоникс біз коммерциялық оркестрді қолданамыз Flexiant Cloud Orchestrator (FCO). Бұл шешімнің бірегей архитектурасы бар, ол оны көпшілікке белгілі Openstack және CloudStack-тен ерекшелендіреді.

KVM, VmWare, Xen, Virtuozzo6/7, сондай-ақ бірдей Virtuozzo контейнерлеріне есептеу түйінінің гипервизорлары ретінде қолдау көрсетіледі. Қолдау көрсетілетін сақтау опцияларына жергілікті, NFS, Ceph және Virtuozzo Storage кіреді.

FCO бір интерфейстен бірнеше кластерлерді құруды және басқаруды қолдайды. Яғни, Virtuozzo кластерін және KVM + Ceph кластерін олардың арасында тінтуірді басу арқылы ауыстыру арқылы басқаруға болады.

Негізінде, FCO бұлттық провайдерлерге арналған кешенді шешім болып табылады, ол оркестрлеуден басқа, барлық параметрлермен, төлем плагиндерімен, шот-фактуралармен, хабарландырулармен, сатушылармен, тарифтермен және т.б. бар шоттарды қамтиды. Дегенмен, есеп айырысу бөлігі барлық ресейлік нюанстарды қамтуға қабілетті емес, сондықтан біз оны басқа шешімнің пайдасына пайдаланудан бас тарттық.

Мен барлық бұлттық ресурстарға құқықтарды таратуға арналған икемді жүйеге өте ризамын: кескіндерге, дискілерге, өнімдерге, серверлерге, брандмауэрлерге - мұның барлығын пайдаланушылар арасында, тіпті әртүрлі клиенттердің пайдаланушылары арасында да «бөлісуге» және құқықтар беруге болады. Әрбір клиент бұлтта бірнеше тәуелсіз деректер орталықтарын жасап, оларды бір басқару тақтасынан басқара алады.

Flexiant Cloud Orchestrator: ол немен бірге келеді

Архитектуралық тұрғыдан FCO бірнеше бөліктерден тұрады, олардың әрқайсысының өзіндік тәуелсіз коды бар, ал кейбіреулерінің жеке деректер базасы бар.

Skyline – әкімші және пайдаланушы интерфейсі
Jade – бизнес логикасы, есепшоттар, тапсырмаларды басқару
Жолбарыс – қызмет координаторы, бизнес логикасы мен кластерлер арасындағы ақпарат алмасуды басқарады және үйлестіреді.
XVPManager – кластер элементтерін басқару: түйіндер, қоймалар, желілік және виртуалды машиналар.
XVPAgent – XVPManager-пен әрекеттесу үшін түйіндерде орнатылған агент

Flexiant Cloud Orchestrator: ол немен бірге келеді

Біз әр компоненттің архитектурасы туралы егжей-тегжейлі әңгімені мақалалар топтамасына енгізуді жоспарлап отырмыз, егер, әрине, тақырып қызығушылық тудырса.

FCO-ның басты артықшылығы оның «қорапты» сипатына байланысты. Қарапайымдылық пен минимализм сіздің қызметіңізде. Басқару түйіні үшін Ubuntu жүйесіндегі бір виртуалды машина бөлінген, оған барлық қажетті пакеттер орнатылған. Барлық параметрлер конфигурация файлдарында айнымалы мән түрінде орналастырылған:

# cat /etc/extility/config/vars
…
export LIMIT_MAX_LIST_ADMIN_DEFAULT="30000"
export LIMIT_MAX_LIST_USER_DEFAULT="200"
export LOGDIR="/var/log/extility"
export LOG_FILE="misc.log"
export LOG_FILE_LOG4JHOSTBILLMODULE="hostbillmodule.log"
export LOG_FILE_LOG4JJADE="jade.log"
export LOG_FILE_LOG4JTL="tigerlily.log"
export LOG_FILE_LOG4JXVP="xvpmanager.log"
export LOG_FILE_VARS="misc.log"
…

Бүкіл конфигурация бастапқыда үлгілерде өңделеді, содан кейін генератор іске қосылады
#build-config, ол vars файлын жасайды және қызметтерге конфигурацияны қайта оқуға бұйрық береді. Пайдаланушы интерфейсі жақсы және оны оңай брендтеуге болады.

Flexiant Cloud Orchestrator: ол немен бірге келеді

Көріп отырғаныңыздай, интерфейс пайдаланушы басқара алатын виджеттерден тұрады. Ол виджеттерді бетке оңай қосып/жоюға болады, осылайша өзіне қажетті бақылау тақтасын жасай алады.

Жабық сипатына қарамастан, FCO өте теңшелетін жүйе. Оның жұмыс процесін өзгертуге арналған көптеген параметрлер мен кіру нүктелері бар:

  1. Теңшелетін плагиндерге қолдау көрсетіледі, мысалы, пайдаланушыға ұсыну үшін өзіңіздің төлем әдісіңізді немесе өзіңіздің сыртқы ресурсыңызды жаза аласыз.
  2. Белгілі бір оқиғаларға арналған теңшелетін триггерлерге қолдау көрсетіледі, мысалы, клиентке бірінші виртуалды машина жасалған кезде оны қосу
  3. Интерфейстегі теңшелетін виджеттерге қолдау көрсетіледі, мысалы, YouTube бейнесін пайдаланушы интерфейсіне тікелей ендіру.

Барлық теңшеу Lua негізіндегі FDL тілінде жазылған. Егер сіз Луаны білсеңіз, FDL-де ешқандай проблемалар болмайды.

Міне, біз қолданатын қарапайым триггерлердің бірінің мысалы. Бұл триггер пайдаланушыларға өз кескіндерін басқа клиенттермен бөлісуге мүмкіндік бермейді. Біз мұны бір пайдаланушының басқа пайдаланушылар үшін зиянды кескін жасауына жол бермеу үшін жасаймыз.

function register()
    return {"pre_user_api_publish"}
end
   
function pre_user_api_publish(p)  
    if(p==nil) then
        return{
            ref = "cancelPublishImage",
            name = "Cancel publishing",
            description = "Cancel all user’s images publishing",
            triggerType = "PRE_USER_API_CALL",
            triggerOptions = {"publishResource", "publishImage"},
            api = "TRIGGER",
            version = 1,
        }
    end

    -- Turn publishing off
    return {exitState = "CANCEL"}
   
end

Тіркеу функциясын FCO ядросы шақырады. Ол шақырылатын функцияның атын қайтарады. Бұл функцияның «p» параметрі шақыру контекстін сақтайды және ол бірінші рет шақырылған кезде ол бос болады (нөл). Бұл бізге триггерді тіркеуге мүмкіндік береді. triggerType ішінде біз триггердің жариялау әрекетінен бұрын шақырылғанын және тек пайдаланушыларға әсер ететінін көрсетеміз. Әрине, біз жүйелік әкімшілерге бәрін жариялауға мүмкіндік береміз. TriggerOptions ішінде біз триггер іске қосылатын әрекеттерді егжей-тегжейлі сипаттаймыз.

Ең бастысы, қайтару {exitState = «CANCEL»}, сондықтан триггер әзірленді. Пайдаланушы өз кескінін басқару тақтасында бөлісуге әрекет жасағанда, ол сәтсіздікті қайтарады.

FCO архитектурасында кез келген объект (диск, сервер, кескін, желі, желілік адаптер және т.б.) жалпы параметрлері бар Ресурс нысаны ретінде ұсынылған:

  • Ресурс UUID
  • ресурс атауы
  • ресурс түрі
  • Ресурс иесі UUID
  • ресурс күйі (белсенді, белсенді емес)
  • ресурс метадеректері
  • ресурс кілттері
  • Ресурсқа ие өнімнің UUID коды
  • ресурсы VDC

Бұл барлық ресурстар бірдей принцип бойынша жұмыс істегенде, API арқылы жұмыс істегенде өте ыңғайлы. Өнімдерді провайдер конфигурациялайды және клиент тапсырыс береді. Біздің есепшотымыз жағында болғандықтан, клиент панельден кез келген өнімге еркін тапсырыс бере алады. Ол кейінірек есепшотта есептеледі. Өнім сағатына IP мекенжайы, сағатына қосымша ГБ диск немесе жай сервер болуы мүмкін.

Кілттерді олармен жұмыс істеу логикасын өзгерту үшін белгілі бір ресурстарды белгілеу үшін пайдалануға болады. Мысалы, біз Weight кілтімен үш физикалық түйінді белгілей аламыз және кейбір клиенттерді бірдей кілтпен белгілей аламыз, осылайша бұл түйіндерді осы клиенттерге жеке бөлеміз. Біз бұл механизмді VM жанындағы көршілерді ұнатпайтын VIP клиенттер үшін қолданамыз. Функционалдықтың өзін әлдеқайда кеңірек пайдалануға болады.

Лицензиялау үлгісі физикалық түйіннің әрбір процессор өзегі үшін төлеуді қамтиды. Құнға кластер түрлерінің саны да әсер етеді. Мысалы, KVM және VMware бірге пайдалануды жоспарласаңыз, лицензия құны артады.

FCO - бұл толыққанды өнім, оның функционалдығы өте бай, сондықтан біз желілік бөліктің жұмыс істеуін егжей-тегжейлі сипаттайтын бірден бірнеше мақаланы дайындауды жоспарлап отырмыз.

Осы оркестрмен бірнеше жыл жұмыс істегендіктен, біз оны өте қолайлы деп белгілей аламыз. Өкінішке орай, өнім кемшіліктерсіз емес:

  • дерекқорды оңтайландыруға тура келді, өйткені олардағы деректер көлемі ұлғайған сайын сұраулар баяулай бастады;
  • бір апаттан кейін қалпына келтіру механизмі қатеге байланысты жұмыс істемеді және біз өз сценарийлер жиынтығын пайдаланып, бақытсыз клиенттердің көліктерін қалпына келтіруге тура келді;
  • Түйіннің қолжетімсіздігін анықтау механизмі кодқа қосылған және оны теңшеу мүмкін емес. Яғни, біз түйіннің қолжетімсіздігін анықтау үшін өз саясатымызды жасай алмаймыз.
  • тіркеу әрқашан егжей-тегжейлі бола бермейді. Кейде белгілі бір мәселені түсіну үшін өте төмен деңгейге түсу қажет болғанда, себебін түсіну үшін кейбір компоненттер үшін бастапқы код жеткіліксіз;

TOTAL: Жалпы алғанда, өнімнен алған әсерлері жақсы. Біз оркестрді әзірлеушілермен үнемі байланыстамыз. Жігіттер конструктивті ынтымақтастыққа бейім.

Қарапайымдылығына қарамастан, FCO кең функционалдылыққа ие. Болашақ мақалаларда біз келесі тақырыптарды тереңірек қарастыруды жоспарлап отырмыз:

  • FCO желісіндегі байланыс
  • тірі қалпына келтіру және FQP протоколын қамтамасыз ету
  • жеке плагиндер мен виджеттерді жазу
  • Load Balancer және Acronis сияқты қосымша қызметтерді қосу
  • сақтық көшірме
  • түйіндерді конфигурациялау және конфигурациялаудың бірыңғай механизмі
  • виртуалды машина метадеректерін өңдеу

ZY Егер сізді басқа аспектілер қызықтырса, түсініктемелерде жазыңыз. Бізбен бірге қалыңыз!

Ақпарат көзі: www.habr.com

пікір қалдыру