Flexiant Cloud Orchestrator: mi az, amiért érdemes használni

Flexiant Cloud Orchestrator: mi az, amiért érdemes használni

Az IaaS (Virtuális adatközpont) szolgáltatás nyújtásához mi Rusonyx kereskedelmi orchestrátort használunk Flexiant Cloud Orchestrator (FCO). Ez a megoldás elég egyedi architektúrával rendelkezik, amely megkülönbözteti a közismert Openstacktől és CloudStacktől.

A compute csomópontok esetén a KVM, VmWare, Xen, Virtuozzo6/7, valamint a Virtuozzo által biztosított konténerek támogatottak. A támogatott tárolók közé tartozik helyi, NFS, Ceph és Virtuozzo Storage.

Az FCO támogatja több klaszter létrehozását és azok kezelését egyetlen felületen. Vagyis lehetőség van a Virtuozzo klaszter és a KVM + Ceph klaszter közötti váltásra egy kattintással.

Lényegében az FCO egy átfogó megoldás a felhőszolgáltatók számára, amely az orchestrálás mellett magában foglalja a billinget is, minden beállítással, fizetési pluginokkal, számlákkal, értesítésekkel, viszonteladókkal, tarifa- és sok mással. Azonban a billing rész nem képes lefedni a teljes orosz sajátosságokat, ezért egy másik megoldás mellett döntöttünk.

Nagyon örvendetes a rugalmas jogkezelési rendszer az összes felhőforrásra: képek, lemezek, termékek, szerverek, tűzfalak – mindez megosztható és jogokat adhatunk felhasználók, sőt különböző ügyfelek közötti felhasználók számára is. Minden ügyfél létrehozhat a saját felhőjében több független adatközpontot, és kezelheti őket egyetlen kontrollpanelből.

Flexiant Cloud Orchestrator: mi az, amiért érdemes használni

Architekturálisan az FCO több részből áll, mindegyik saját független kóddal, és néhány saját adatbázissal is rendelkezik.

Skyline – adminisztrációs és felhasználói felület
Jade – üzleti logika, billing, feladatkezelés
Tigerlily – a szolgáltatás koordinátora, irányítja és koordinálja az információcserét a üzleti logika és a klaszterek között.
XVPManager – a klaszter elemeinek kezelése: csomópontok, tároló, hálózat és virtuális gépek.
XVPAgent – a csomóponton telepített ügynök, amely interakciót biztosít a XVPManagerrel

Flexiant Cloud Orchestrator: mi az, amiért érdemes használni

A komponenst alkotó elemek architektúrájáról részletesen szeretnénk egy cikkciklust összeállítani, ha természetesen a téma felkelt egy kis érdeklődést.

A FCO fő előnye a "do-it-yourself" megközelítéséből fakad. Az egyszerűség és minimalizmus áll az Ön rendelkezésére. A vezérlőcsomópont számára egy virtuális gép van fenntartva Ubuntu rendszerrel, amelyen minden szükséges csomag telepítve van. Minden beállítás konfigurációs fájlokba kerül változó-érték formátumban:

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

Az egész konfiguráció először sablonokban módosul, majd elindul a generátor.
#build-config который сформирует файл vars и даст команду сервисам перечитать конфиг. Пользовательский интерфейс приятный и может быть легко забрендирован.

Flexiant Cloud Orchestrator: mi az, amiért érdemes használni

Ahogy látható, az interfész widgetekből áll, amelyeket a felhasználó kezelhet. Könnyedén hozzáadhatja vagy eltávolíthatja a widgeteket az oldalról, így kialakítva a kívánt műszerfalat.

Bár zárt rendszer, a FCO rendkívül testre szabható. Rengeteg beállítással és belépési ponttal rendelkezik a workflow módosításához:

  1. Támogatottak a testreszabott pluginek, például írhat saját számlázási módszert vagy saját külső szolgáltatást a felhasználó számára.
  2. Támogatottak a testreszabott eseményekhez kötött triggerek, például az első virtuális gép hozzáadása a kliens számára a létrehozásakor.
  3. Támogatottak a testreszabott widgetek az interfészben, például be lehet ágyazni egy youtube videót közvetlenül a felhasználói felületbe.

Minden testreszabás FDL nyelven készül, amely a Lua alapjaira épül. Ha ismeri a Lua-t, az FDL-lel nem lesznek problémák.

Itt van az egyik legkisebb trigger példája, amit használunk. Ez a trigger megakadályozza a felhasználókat abban, hogy saját képfájljaikat megosszák más kliensekkel. Ezt azért tesszük, hogy egy felhasználó ne tudjon kártékony képfájlt létrehozni más felhasználók 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 register függvényt a FCO magja hívja meg. Ez visszaadja a meghívandó függvény nevét. A "p" paraméter tárolja a hívási kontextust, és az első híváskor üres (nil) lesz. Ez lehetővé teszi számunkra, hogy regisztrálhassuk a triggerünket. A triggerType-ban azt mutatjuk, hogy a trigger a közzététel előtt, és csak a felhasználók számára működik. Az adminisztrátorok természetesen minden közzétételét megengedjük. A triggerOptions-ban részletezzük azokat a műveleteket, amelyekre a trigger aktív lesz.

És a legfontosabb – a return {exitState = "CANCEL"}, ez az, amire a triggereket kidolgoztuk. Ez a közzétételi panelen történő képfájl megosztásakor kudarcot fog jelezni.

Az FCO architektúrában bármilyen objektum (lemez, szerver, kép, hálózat, hálózati adapter stb.) Resource entitásként van megjelenítve, amelynek közös paraméterei vannak:

  • Az erőforrás UUID-ja
  • Az erőforrás neve
  • Az erőforrás típusa
  • Az erőforrás tulajdonosának UUID-ja
  • Az erőforrás státusza (aktív, inaktív)
  • Az erőforrás metadatái
  • Az erőforrás kulcsai
  • A termék UUID-ja, amelyhez az erőforrás tartozik
  • Az erőforrás VDC-je

Ez nagyon kényelmes API használatakor, amikor minden erőforrással egy elv alapján dolgoznak. A termékeket a szolgáltató állítja be, míg a megrendelését az ügyfél adja le. Mivel a számlázás tőlünk független, az ügyfél szabadon és díjmentesen megrendelhet bármilyen terméket a panelből. Az majd később számít be a számlázásba. A termék lehet – óránkénti IP cím, további GB lemez óránként vagy egyszerűen egy szerver.

A kulcsokkal meg lehet jelölni bizonyos erőforrásokat a velük való munka logikájának megváltoztatásához. Például megjelölhetjük három fizikai node-t a Weight kulccsal, és néhány ügyfelet ugyanezzel a kulccsal, így ezeket a node-kat személyre szabva kiemelve az adott ügyfeleknek. Ezt a mechanizmust VIP-ügyfelek számára használjuk, akik nem szeretik, ha szomszédaik vannak a VM-jeik mellett. Maga a funkció szélesebb körben is alkalmazható.

A licencelési modell minden fizikai node processzorának magja után fizetendő díjat feltételez. Az árat befolyásolja a klaszterek típusainak száma is. Ha például a KVM és a VMware együtt történő használatát tervezik, akkor a licenc ára növekedni fog.

Az FCO egy teljes értékű termék, amelynek funkciója nagyon gazdag, ezért több cikket is tervezünk előkészíteni a hálózati rész működéséről.

Több évnyi munka után ezzel az orchestrálónál megjegyezhetjük, hogy nagyon jónak bizonyult. Sajnos, a termék nem mentes a hibáktól:

  • optimalizálnunk kellett az adatbázist, mivel a lekérdezések lassulni kezdtek, amikor a benne tárolt adatok száma nőtt;
  • egy baleset után, ami egy hibából adódott, a helyreállítási mechanizmus nem működött, és muszáj volt a szerencsétlen ügyfelek gépeit a saját skriptek készletével helyreállítani;
  • a node elérhetetlenségének érzékelésére szolgáló mechanizmus a kódba van beépítve, és nem testreszabható. Ez azt jelenti, hogy nem tudunk saját elérhetetlenségi politikákat létrehozni.
  • A naplózás nem mindig részletes. Néha, amikor nagyon alacsony szintre kell lemerülnünk egy adott probléma elemzéséhez, hiányzik egyes komponensek forráskódja az okok megértéséhez;

ÖSSZEGZÉS: Összességében a termékkel kapcsolatos benyomások jók. Folyamatos kapcsolatban állunk az orkiesztrátor fejlesztőivel. A srácok nyitottak a konstruktív együttműködésre.

Egyszerűsége ellenére az FCO széles funkcionalitással rendelkezik. A jövőbeli cikkekben tervezzük, hogy elmélyedünk a következő témákban:

  • a hálózat szervezése az FCO-ban
  • live-recovery és az FQP protokoll biztosítása
  • saját pluginek és widgetek írása
  • további szolgáltatások, például Load Balancer és Acronis csatlakoztatása
  • biztonsági másolat
  • egységes konfigurációs és beállítási mechanizmus a node-okhoz
  • virtuális gépek metaadatainak feldolgozása

Ui. Írjatok a megjegyzésekbe, ha érdekelnek más szempontok is. Maradjatok velünk!

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster