Flexiant Cloud Orchestrator: kas tas ir komplektā

Flexiant Cloud Orchestrator: kas tas ir komplektā

Lai nodroÅ”inātu IaaS (virtuālā datu centra) pakalpojumus, mēs Rusonikss mēs izmantojam komerciālu orÄ·estrētāju Flexiant Cloud Orchestrator (FCO). Å im risinājumam ir diezgan unikāla arhitektÅ«ra, kas to atŔķir no plaŔākai sabiedrÄ«bai zināmajiem Openstack un CloudStack.

Kā skaitļoÅ”anas mezgla hipervizori tiek atbalstÄ«ti KVM, VmWare, Xen, Virtuozzo6/7, kā arÄ« konteineri no tā paÅ”a Virtuozzo. AtbalstÄ«tās krātuves iespējas ietver vietējo, NFS, Ceph un Virtuozzo krātuvi.

FCO atbalsta vairāku klasteru izveidi un pārvaldÄ«bu no viena interfeisa. Tas nozÄ«mē, ka jÅ«s varat pārvaldÄ«t Virtuozzo kopu un KVM + Ceph kopu, pārslēdzoties starp tām ar peles klikŔķi.

Savā pamatā FCO ir visaptveroÅ”s risinājums mākoņpakalpojumu sniedzējiem, kas papildus orÄ·estrÄ“Å”anai ietver arÄ« norēķinus ar visiem iestatÄ«jumiem, maksājumu spraudņiem, rēķiniem, paziņojumiem, tālākpārdevējiem, tarifiem utt. Taču norēķinu daļa nav spējÄ«ga aptvert visas krievu nianses, tāpēc atteicāmies no tās izmantoÅ”anas par labu citam risinājumam.

Esmu ļoti apmierināts ar elastÄ«go sistēmu tiesÄ«bu izplatÄ«Å”anai uz visiem mākoņa resursiem: attēliem, diskiem, produktiem, serveriem, ugunsmÅ«riem - to visu var ā€œkoplietotā€ un pieŔķirt tiesÄ«bas starp lietotājiem un pat starp dažādu klientu lietotājiem. Katrs klients savā mākonÄ« var izveidot vairākus neatkarÄ«gus datu centrus un pārvaldÄ«t tos no viena vadÄ«bas paneļa.

Flexiant Cloud Orchestrator: kas tas ir komplektā

Arhitektūras ziņā FCO sastāv no vairākām daļām, katrai no kurām ir savs neatkarīgs kods, un dažām ir sava datubāze.

Apvārsnis - administrators un lietotāja interfeiss
skuÄ·is ā€“ biznesa loÄ£ika, rēķini, uzdevumu vadÄ«ba
TÄ«Ä£erilija ā€“ pakalpojumu koordinators, pārvalda un koordinē informācijas apmaiņu starp biznesa loÄ£iku un klasteriem.
XPManager ā€“ klasteru elementu pārvaldÄ«ba: mezgli, krātuve, tÄ«kls un virtuālās maŔīnas.
XPAgent ā€“ mezglos instalēts aÄ£ents, lai mijiedarbotos ar XVPManager

Flexiant Cloud Orchestrator: kas tas ir komplektā

PlaŔāku stāstu par katras sastāvdaļas arhitektÅ«ru plānojam iekļaut rakstu sērijā, ja, protams, tēma raisÄ«s interesi.

FCO galvenā priekÅ”rocÄ«ba izriet no tā ā€œkastesā€ rakstura. VienkārŔība un minimālisms ir jÅ«su rÄ«cÄ«bā. VadÄ«bas mezglam tiek pieŔķirta viena virtuālā maŔīna uz Ubuntu, kurā ir instalētas visas nepiecieÅ”amās pakotnes. Visi iestatÄ«jumi tiek ievietoti konfigurācijas failos mainÄ«gas vērtÄ«bas veidā:

# 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"
ā€¦

Visa konfigurācija sākotnēji tiek rediģēta veidnēs, pēc tam tiek palaists ģenerators
#build-config, kas ģenerēs vars failu un pavēlēs pakalpojumiem atkārtoti izlasīt konfigurāciju. Lietotāja saskarne ir jauka, un to var viegli marķēt.

Flexiant Cloud Orchestrator: kas tas ir komplektā

Kā redzat, saskarne sastāv no logrÄ«kiem, kurus lietotājs var kontrolēt. ViņŔ var viegli pievienot/noņemt logrÄ«kus no lapas, tādējādi izveidojot viņam nepiecieÅ”amo informācijas paneli.

Neskatoties uz savu slēgto raksturu, FCO ir ļoti pielāgojama sistēma. Tam ir milzÄ«gs skaits iestatÄ«jumu un ieejas punktu darbplÅ«smas mainÄ«Å”anai:

  1. Tiek atbalstÄ«ti pielāgoti spraudņi, piemēram, varat rakstÄ«t savu norēķinu metodi vai savu ārējo resursu, lai nodroÅ”inātu lietotājam
  2. Tiek atbalstÄ«ti pielāgoti aktivizētāji noteiktiem notikumiem, piemēram, pirmās virtuālās maŔīnas pievienoÅ”ana klientam, kad tā tiek izveidota
  3. Interfeisā tiek atbalstÄ«ti pielāgoti logrÄ«ki, piemēram, YouTube videoklipa iegulÅ”ana tieÅ”i lietotāja saskarnē.

Visa pielāgoÅ”ana ir rakstÄ«ta FDL, kuras pamatā ir Lua. Ja pazÄ«sti Lua, tad ar FDL problēmu nebÅ«s.

Å eit ir piemērs vienam no vienkārŔākajiem aktivizētājiem, ko mēs izmantojam. Å is aktivizētājs neļauj lietotājiem koplietot savus attēlus ar citiem klientiem. Mēs to darām, lai neļautu vienam lietotājam izveidot ļaunprātÄ«gu attēlu citiem lietotājiem.

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

ReÄ£istra funkciju izsauks FCO kodols. Tas atgriezÄ«s izsaucamās funkcijas nosaukumu. Å Ä«s funkcijas parametrs ā€œpā€ saglabā zvana kontekstu, un, pirmo reizi to izsaucot, tas bÅ«s tukÅ”s (nulle). Kas ļaus mums reÄ£istrēt mÅ«su aktivizētāju. Laukā triggerType mēs norādām, ka aktivizētājs tiek izsaukts PIRMS publicÄ“Å”anas un ietekmē tikai lietotājus. Protams, mēs ļaujam sistēmas administratoriem publicēt visu. Sadaļā TriggerOptions ir detalizēti aprakstÄ«tas darbÄ«bas, kurām aktivizētājs tiks aktivizēts.

Un galvenais ir atgrieÅ”anās {exitState = ā€œCANCELā€}, tāpēc tika izstrādāts trigeris. Kad lietotājs mēģinās kopÄ«got savu attēlu vadÄ«bas panelÄ«, tas atsāks kļūdu.

FCO arhitektÅ«rā jebkurÅ” objekts (disks, serveris, attēls, tÄ«kls, tÄ«kla adapteris utt.) tiek attēlots kā resursa entÄ«tija, kurai ir kopÄ«gi parametri:

  • Resurss UUID
  • resursa nosaukums
  • resursa veids
  • Resursa Ä«paÅ”nieka UUID
  • resursa statuss (aktÄ«vs, neaktÄ«vs)
  • resursu metadati
  • resursu atslēgas
  • Produkta UUID ID, kuram pieder resurss
  • resurss VDC

Tas ir ļoti ērti, strādājot, izmantojot API, kad visi resursi tiek strādāti pēc viena principa. Produktus konfigurē pakalpojumu sniedzējs un pasÅ«ta klients. Tā kā mÅ«su rēķins ir blakus, klients var brÄ«vi pasÅ«tÄ«t jebkuru produktu no paneļa. Tas tiks aprēķināts vēlāk rēķinā. Produkts var bÅ«t IP adrese stundā, papildu GB disks stundā vai vienkārÅ”i serveris.

Atslēgas var izmantot, lai atzÄ«mētu noteiktus resursus, lai mainÄ«tu darba ar tiem loÄ£iku. Piemēram, mēs varam atzÄ«mēt trÄ«s fiziskos mezglus ar atslēgu Svars un atzÄ«mēt dažus klientus ar vienu un to paÅ”u atslēgu, tādējādi pieŔķirot Å”iem mezgliem personÄ«gi Å”iem klientiem. Mēs izmantojam Å”o mehānismu VIP klientiem, kuriem nepatÄ«k kaimiņi blakus viņu virtuālajām maŔīnām. Pati funkcionalitāte var tikt izmantota daudz plaŔāk.

LicencÄ“Å”anas modelis ietver samaksu par katru fiziskā mezgla procesora kodolu. Izmaksas ietekmē arÄ« klasteru veidu skaits. Piemēram, ja plānojat izmantot KVM un VMware kopā, palielināsies licences izmaksas.

FCO ir pilnvērtīgs produkts, tā funkcionalitāte ir ļoti bagāta, tāpēc plānojam uzreiz sagatavot vairākus rakstus ar detalizētu tīkla daļas darbības aprakstu.

Strādājot ar Å”o orÄ·estrētāju vairākus gadus, varam to atzÄ«mēt kā ļoti piemērotu. Diemžēl produkts nav bez trÅ«kumiem:

  • mums bija jāoptimizē datu bāze, jo vaicājumi sāka palēnināties, palielinoties datu apjomam tajos;
  • pēc viena negadÄ«juma atkopÅ”anas mehānisms nedarbojās kļūdas dēļ, un mums nācās atgÅ«t nelaimÄ«go klientu automaŔīnas, izmantojot mÅ«su paÅ”u skriptu komplektu;
  • Mezglu nepieejamÄ«bas noteikÅ”anas mehānisms ir iekļauts kodā, un to nevar pielāgot. Tas nozÄ«mē, ka mēs nevaram izveidot savas politikas mezgla nepieejamÄ«bas noteikÅ”anai.
  • mežizstrāde ne vienmēr ir detalizēta. Dažreiz, kad jums ir jāsamazina lÄ«dz ļoti zemam lÄ«menim, lai saprastu konkrētu problēmu, jums nav pietiekami daudz avota koda, lai daži komponenti saprastu, kāpēc;

KOPĀ: Kopumā iespaidi par produktu ir labi. Mēs pastāvÄ«gi sazināmies ar orÄ·estra izstrādātājiem. PuiÅ”i ir noskaņoti uz konstruktÄ«vu sadarbÄ«bu.

Neskatoties uz vienkārŔību, FCO ir plaÅ”a funkcionalitāte. Nākamajos rakstos mēs plānojam sÄ«kāk iedziļināties Ŕādās tēmās:

  • tÄ«kla izveide FCO
  • nodroÅ”ina reāllaika atkopÅ”anu un FQP protokolu
  • rakstot savus spraudņus un logrÄ«kus
  • savienojot papildu pakalpojumus, piemēram, Load Balancer un Acronis
  • dublējums
  • vienots mezglu konfigurÄ“Å”anas un konfigurÄ“Å”anas mehānisms
  • virtuālās maŔīnas metadatu apstrāde

ZY Rakstiet komentāros, ja jūs interesē citi aspekti. Sekojiet līdzi!

Avots: www.habr.com

Pievieno komentāru