Флекиант Цлоуд Орцхестратор: са чиме долази

Флекиант Цлоуд Орцхестратор: са чиме долази

Да бисмо пружили услуге ИааС (виртуелни центар података), ми Русоник користимо комерцијални оркестратор Флекиант Цлоуд Орцхестратор (ФЦО). Ово решење има прилично јединствену архитектуру, која га разликује од Опенстацк-а и ЦлоудСтацк-а, познатих широј јавности.

КВМ, ВмВаре, Ксен, Виртуоззо6/7, као и контејнери из истог Виртуоззо-а су подржани као хипервизори рачунарских чворова. Подржане опције складиштења укључују локално, НФС, Цепх и Виртуоззо складиште.

ФЦО подржава креирање и управљање вишеструким кластерима из једног интерфејса. То јест, можете управљати виртуоззо кластером и КВМ + Цепх кластером тако што ћете се пребацивати између њих кликом миша.

У својој сржи, ФЦО је свеобухватно решење за клауд провајдере, које, поред оркестрације, укључује и наплату, са свим подешавањима, додацима за плаћање, фактурама, обавештењима, продавцима, тарифама и тако даље. Међутим, обрачунски део није у стању да покрије све руске нијансе, па смо одустали од његове употребе у корист другог решења.

Веома сам задовољан флексибилним системом за дистрибуцију права на све ресурсе у облаку: слике, дискове, производе, сервере, заштитне зидове – све ово се може „делити“ и доделити права између корисника, па чак и између корисника различитих клијената. Сваки клијент може да креира неколико независних центара података у свом облаку и управља њима са једне контролне табле.

Флекиант Цлоуд Орцхестратор: са чиме долази

Архитектонски, ФЦО се састоји од неколико делова, од којих сваки има свој независни код, а неки имају своју базу података.

Скилине – администраторски и кориснички интерфејс
жад – пословна логика, наплата, управљање задацима
Тигер Лили – координатор услуга, управља и координира размену информација између пословне логике и кластера.
КСВПМанагер – управљање елементима кластера: чворови, складиште, мреже и виртуелне машине.
КСВПАгент – агент инсталиран на чворовима за интеракцију са КСВПМанагер-ом

Флекиант Цлоуд Орцхестратор: са чиме долази

Планирамо да у серију чланака укључимо детаљну причу о архитектури сваке компоненте, ако, наравно, тема изазове интересовање.

Главна предност ФЦО произилази из његове „упакиране“ природе. Једноставност и минимализам су вам на услузи. За контролни чвор се додељује једна виртуелна машина на Убунту-у у коју су инсталирани сви потребни пакети. Сва подешавања су смештена у конфигурационе датотеке у облику променљиве вредности:

# 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"
…

Целокупна конфигурација се у почетку уређује у шаблонима, а затим се покреће генератор
#буилд-цонфиг који ће генерисати варс датотеку и наредити услугама да поново прочитају конфигурацију. Кориснички интерфејс је леп и може се лако брендирати.

Флекиант Цлоуд Орцхестратор: са чиме долази

Као што видите, интерфејс се састоји од виџета које корисник може да контролише. Он може лако да додаје/уклања виџете са странице, стварајући тако контролну таблу која му је потребна.

Упркос својој затвореној природи, ФЦО је веома прилагодљив систем. Има огроман број подешавања и улазних тачака за промену тока посла:

  1. Подржани су прилагођени додаци, на пример, можете да напишете сопствени метод обрачуна или сопствени спољни ресурс да бисте кориснику пружили
  2. Подржани су прилагођени окидачи за одређене догађаје, на пример, додавање прве виртуелне машине клијенту када се креира
  3. Подржани су прилагођени виџети у интерфејсу, на пример, уграђивање ИоуТубе видеа директно у кориснички интерфејс.

Сва прилагођавања су написана у ФДЛ-у, који је заснован на Луа. Ако познајете Луа, неће бити проблема са ФДЛ-ом.

Ево примера једног од најједноставнијих покретача које користимо. Овај покретач не дозвољава корисницима да деле сопствене слике са другим клијентима. Ово радимо како бисмо спречили једног корисника да направи злонамерну слику за друге кориснике.

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

Функцију регистра ће позвати ФЦО кернел. Вратиће име функције која се позива. Параметар “п” ове функције чува контекст позива и први пут када се позове биће празан (нула). Што ће нам омогућити да региструјемо наш окидач. У триггерТипе указујемо да се окидач позива ПРЕ операције објављивања и да утиче само на кориснике. Наравно, дозвољавамо администраторима система да објаве све. У триггерОптионс детаљно описујемо операције за које ће се окидач активирати.

А главна ствар је повратак {екитСтате = “ЦАНЦЕЛ”}, због чега је окидач развијен. Вратиће грешку када корисник покуша да подели своју слику на контролној табли.

У ФЦО архитектури, сваки објекат (диск, сервер, слика, мрежа, мрежни адаптер, итд.) је представљен као ентитет Ресурса, који има заједничке параметре:

  • УУИД ресурса
  • назив ресурса
  • тип ресурса
  • УУИД власника ресурса
  • статус ресурса (активан, неактиван)
  • метаподаци ресурса
  • кључеви ресурса
  • УУИД производа који поседује ресурс
  • ресурс ВДЦ

Ово је веома згодно када се ради помоћу АПИ-ја, када се сви ресурси раде по истом принципу. Производе конфигурише провајдер, а наручује клијент. Пошто је наш обрачун са стране, клијент може слободно наручити било који производ са панела. То ће бити израчунато касније у обрачуну. Производ може бити ИП адреса на сат, додатни ГБ диска на сат или само сервер.

Кључеви се могу користити за означавање одређених ресурса да би се променила логика рада са њима. На пример, можемо означити три физичка чвора кључем Веигхт, и означити неке клијенте истим кључем, додељујући на тај начин ове чворове лично овим клијентима. Овај механизам користимо за ВИП клијенте који не воле комшије поред својих ВМ-ова. Сама функционалност се може користити много шире.

Модел лиценцирања укључује плаћање за свако процесорско језгро физичког чвора. На цену такође утиче број типова кластера. Ако планирате да користите КВМ и ВМваре заједно, на пример, цена лиценце ће се повећати.

ФЦО је пуноправан производ, његова функционалност је веома богата, тако да планирамо да припремимо неколико чланака одједном са детаљним описом функционисања мрежног дела.

С обзиром да са овим оркестратором радимо неколико година, можемо га означити као веома погодног. Нажалост, производ није без недостатака:

  • морали смо да оптимизујемо базу података јер су упити почели да успоравају како се количина података у њима повећавала;
  • након једне несреће, механизам за опоравак није функционисао због грешке и морали смо да повратимо аутомобиле несрећних клијената користећи сопствени сет скрипти;
  • Механизам за откривање недоступности чвора је уграђен у код и не може се прилагодити. То јест, не можемо креирати сопствене политике за утврђивање недоступности чвора.
  • евидентирање није увек детаљно. Понекад, када морате да се спустите на веома низак ниво да бисте разумели одређени проблем, немате довољно изворног кода за неке компоненте да бисте разумели зашто;

УКУПНО: Генерално, утисци о производу су добри. У сталном смо контакту са програмерима оркестратора. Момци су расположени за конструктивну сарадњу.

Упркос својој једноставности, ФЦО има широку функционалност. У будућим чланцима планирамо да се дубље бавимо следећим темама:

  • умрежавање у ФЦО
  • пружање опоравка уживо и ФКП протокола
  • писање сопствених додатака и виџета
  • повезивање додатних сервиса као што су Лоад Баланцер и Ацронис
  • резервна копија
  • јединствени механизам за конфигурисање и конфигурисање чворова
  • обрада метаподатака виртуелне машине

ЗИ Пишите у коментарима ако вас занимају други аспекти. Будите у току!

Извор: ввв.хабр.цом

Додај коментар