Flexiant Cloud Orchestrator: mit tartalmaz

Flexiant Cloud Orchestrator: mit tartalmaz

Az IaaS (Virtual Data Center) szolgáltatások nyújtásához mi Rusonyx kereskedelmi hangszerelőt használunk Flexiant Cloud Orchestrator (FCO). Ez a megoldás meglehetősen egyedi architektúrával rendelkezik, ami megkülönbözteti a nagyközönség által ismert Openstacktől és CloudStacktől.

A KVM, VmWare, Xen, Virtuozzo6/7, valamint ugyanazon Virtuozzo konténerei támogatottak számítási csomópont-hipervizorként. A támogatott tárolási lehetőségek közé tartozik a helyi, az NFS, a Ceph és a Virtuozzo Storage.

Az FCO támogatja több fürt létrehozását és kezelését egyetlen felületről. Vagyis egy Virtuozzo-fürtöt és egy KVM + Ceph-fürtöt kezelhetsz, ha egy egérkattintással váltasz közöttük.

Lényegében az FCO egy átfogó megoldás a felhőszolgáltatók számára, amely a hangszerelésen túl a számlázást is tartalmazza, minden beállítással, fizetési bővítményekkel, számlákkal, értesítésekkel, viszonteladókkal, tarifákkal stb. A számlázási rész azonban nem képes minden orosz árnyalatot lefedni, ezért ennek használatát egy másik megoldás javára elhagytuk.

Nagyon elégedett vagyok a rugalmas rendszerrel, amely lehetővé teszi az összes felhő-erőforrás jogainak elosztását: képek, lemezek, termékek, szerverek, tűzfalak – mindez „megosztható” és jogokat biztosíthat a felhasználók, sőt a különböző kliensek felhasználói között is. Minden ügyfél több független adatközpontot hozhat létre a felhőjében, és kezelheti azokat egyetlen vezérlőpultról.

Flexiant Cloud Orchestrator: mit tartalmaz

Építészetileg az FCO több részből áll, amelyek mindegyikének saját független kódja van, és néhánynak saját adatbázisa van.

Láthatár – admin és felhasználói felület
gebe – üzleti logika, számlázás, feladatkezelés
Tigris liliom – szolgáltatáskoordinátor, irányítja és koordinálja az üzleti logika és a klaszterek közötti információcserét.
XVPManager – klaszterelemek kezelése: csomópontok, tárolók, hálózati és virtuális gépek.
XVPAgent – a csomópontokra telepített ügynök az XVPManagerrel való interakcióhoz

Flexiant Cloud Orchestrator: mit tartalmaz

Terveink szerint az egyes komponensek architektúrájáról egy cikksorozatban részletes történetet is beiktatunk, ha természetesen a téma felkelti az érdeklődést.

Az FCO fő előnye „dobozos” jellegéből fakad. Az egyszerűség és a minimalizmus az Ön szolgálatában. A vezérlő csomópont számára egy virtuális gép van lefoglalva az Ubuntu-n, amelybe az összes szükséges csomag telepítve van. Minden beállítás konfigurációs fájlba kerül változó érték formájában:

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

A teljes konfigurációt kezdetben sablonokban szerkesztjük, majd elindul a generátor
#build-config, amely létrehoz egy vars fájlt, és parancsot ad a szolgáltatásoknak, hogy olvassák újra a konfigurációt. A felhasználói felület szép és könnyen márkásítható.

Flexiant Cloud Orchestrator: mit tartalmaz

Mint látható, a felület widgetekből áll, amelyeket a felhasználó vezérelhet. Könnyedén hozzáadhat/eltávolíthat widgeteket az oldalról, ezáltal létrehozhatja a számára szükséges irányítópultot.

Zárt jellege ellenére az FCO egy nagymértékben testreszabható rendszer. Rengeteg beállítással és belépési ponttal rendelkezik a munkafolyamat megváltoztatásához:

  1. Egyéni beépülő modulok támogatottak, például megírhatja saját számlázási módját vagy saját külső erőforrásait, hogy a felhasználó számára
  2. Bizonyos események egyéni triggerei támogatottak, például az első virtuális gép hozzáadása az ügyfélhez annak létrehozásakor
  3. A kezelőfelület egyéni widgetjei támogatottak, például YouTube-videó beágyazása közvetlenül a felhasználói felületbe.

Minden testreszabás FDL-ben van megírva, amely Lua-n alapul. Ha ismeri Luát, nem lesz probléma az FDL-lel.

Íme egy példa az általunk használt egyik legegyszerűbb triggerre. Ez a trigger nem teszi lehetővé a felhasználók számára, hogy megosszák saját képeiket más ügyfelekkel. Ezt azért tesszük, hogy megakadályozzuk, hogy egy felhasználó rosszindulatú képet hozzon létre a többi felhasználó számára.

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

A regiszter függvényt az FCO kernel fogja meghívni. Visszaadja a meghívandó függvény nevét. Ennek a függvénynek a „p” paramétere tárolja a hívási környezetet, és az első meghívásakor üres lesz (nulla). Ez lehetővé teszi számunkra, hogy regisztráljuk a triggerünket. A triggerType-ban azt jelezzük, hogy az eseményindítót a közzétételi művelet ELŐTT hívják meg, és csak a felhasználókat érinti. Természetesen megengedjük a rendszergazdáknak, hogy mindent közzétegyenek. A triggerOptions szakaszban részletezzük azokat a műveleteket, amelyeknél a trigger aktiválódik.

És a fő dolog az {exitState = “CANCEL”} visszatérés, ezért fejlesztették ki a triggert. A hibaüzenetet küldi vissza, ha a felhasználó megpróbálja megosztani a képét a vezérlőpulton.

Az FCO architektúrában minden objektum (lemez, szerver, kép, hálózat, hálózati adapter stb.) erőforrás-entitásként jelenik meg, amelynek közös paraméterei vannak:

  • Erőforrás UUID
  • erőforrás neve
  • erőforrás típusa
  • Erőforrás-tulajdonos UUID
  • erőforrás állapota (aktív, inaktív)
  • erőforrás metaadatok
  • erőforrás kulcsok
  • Az erőforrást birtokló termék UUID-azonosítója
  • erőforrás VDC

Ez nagyon kényelmes, ha API-t használ, amikor minden erőforrás ugyanazon elv szerint működik. A termékeket a szolgáltató konfigurálja és az ügyfél rendeli meg. Mivel számlázásunk oldalt van, az ügyfél szabadon rendelhet bármilyen terméket a panelről. Később a számlázáskor kerül kiszámításra. A termék lehet óránként IP-cím, óránként további GB lemez, vagy csak egy szerver.

A kulcsok bizonyos erőforrások megjelölésére használhatók a velük való munka logikájának megváltoztatásához. Például megjelölhetünk három fizikai csomópontot a súlykulccsal, és megjelölhetünk néhány klienst ugyanazzal a kulccsal, így ezeket a csomópontokat személyesen hozzárendelhetjük ezekhez a kliensekhez. Ezt a mechanizmust olyan VIP ügyfeleknél használjuk, akik nem szeretik a szomszédokat a virtuális gépeik mellett. Maga a funkcionalitás sokkal szélesebb körben használható.

A licencelési modell magában foglalja a fizikai csomópont minden processzormagjának fizetését. A költségeket a klasztertípusok száma is befolyásolja. Ha például a KVM és a VMware együttes használatát tervezi, a licenc költsége megnő.

Az FCO egy teljes értékű termék, funkcionalitása igen gazdag, ezért egyszerre több cikk elkészítését tervezzük a hálózati rész működésének részletes leírásával.

Miután több éve dolgoztunk ezzel a hangszerelõvel, nagyon alkalmasnak jelölhetjük. Sajnos a termék nem hibátlan:

  • optimalizálnunk kellett az adatbázist, mert a lekérdezések lassulni kezdtek, ahogy nőtt a bennük lévő adatmennyiség;
  • egy baleset után a helyreállítási mechanizmus egy hiba miatt nem működött, és szerencsétlen ügyfelek autóit kellett visszaszereznünk saját szkriptkészletünk segítségével;
  • A csomópont elérhetetlenségének észlelésének mechanizmusa a kódba van bekötve, és nem testreszabható. Vagyis nem hozhatunk létre saját szabályzatot egy csomópont elérhetetlenségének meghatározására.
  • a naplózás nem mindig részletes. Néha, amikor nagyon alacsony szintre kell lemenni egy adott probléma megértéséhez, nincs elég forráskódod egyes összetevőkhöz, hogy megértsd, miért;

ÖSSZESEN: Általánosságban elmondható, hogy a termék benyomásai jók. Folyamatos kapcsolatban vagyunk a hangszerelő fejlesztőkkel. A srácok hajlamosak a konstruktív együttműködésre.

Egyszerűsége ellenére az FCO széles funkcionalitással rendelkezik. A következő cikkeinkben a következő témákban tervezünk mélyebbre ásni:

  • hálózatépítés az FCO-nál
  • élő helyreállítási és FQP protokollt biztosít
  • saját beépülő modulok és widgetek írása
  • további szolgáltatások, például a Load Balancer és az Acronis összekapcsolása
  • biztonsági mentés
  • egységes mechanizmus a csomópontok konfigurálásához és beállításához
  • virtuális gép metaadatainak feldolgozása

Z.Y. Írd meg kommentben, ha más szempontok is érdekelnek. Maradjon velünk!

Forrás: will.com

Hozzászólás