Flexiant Cloud Orchestrator: nə ilə gəlir

Flexiant Cloud Orchestrator: nə ilə gəlir

IaaS (Virtual Məlumat Mərkəzi) xidmətlərini təmin etmək üçün biz Rusoniks kommersiya orkestrindən istifadə edirik Flexiant Cloud Orchestrator (FCO). Bu həll kifayət qədər unikal arxitekturaya malikdir və onu geniş ictimaiyyətə məlum olan Openstack və CloudStack-dən fərqləndirir.

KVM, VmWare, Xen, Virtuozzo6/7, eləcə də eyni Virtuozzo-dan olan konteynerlər hesablama node hipervizorları kimi dəstəklənir. Dəstəklənən saxlama seçimlərinə yerli, NFS, Ceph və Virtuozzo Storage daxildir.

FCO bir interfeysdən çoxlu klasterlərin yaradılmasını və idarə olunmasını dəstəkləyir. Yəni Virtuozzo klasterini və KVM + Ceph klasterini siçan klikləməklə onların arasında keçid edərək idarə edə bilərsiniz.

Özündə, FCO bulud provayderləri üçün hərtərəfli həlldir, orkestrasiya ilə yanaşı, bütün parametrlər, ödəniş plaginləri, fakturalar, bildirişlər, satıcılar, tariflər və s. Bununla belə, hesablama hissəsi bütün rus nüanslarını əhatə etmək iqtidarında deyil, ona görə də başqa bir həllin lehinə onun istifadəsindən imtina etdik.

Bütün bulud resurslarına hüquqların paylanması üçün çevik sistemdən çox məmnunam: şəkillər, disklər, məhsullar, serverlər, firewalllar - bunların hamısı istifadəçilər arasında, hətta müxtəlif müştərilərin istifadəçiləri arasında "paylaşıla" və hüquqlar verilə bilər. Hər bir müştəri öz buludunda bir neçə müstəqil məlumat mərkəzi yarada və onları tək idarəetmə panelindən idarə edə bilər.

Flexiant Cloud Orchestrator: nə ilə gəlir

Memarlıq baxımından FCO bir neçə hissədən ibarətdir, hər birinin öz müstəqil kodu, bəzilərinin isə öz verilənlər bazası var.

Üfüq - admin və istifadəçi interfeysi
yabı – biznes məntiqi, faktura, tapşırıqların idarə edilməsi
Pələng – xidmət koordinatoru, biznes məntiqi və klasterlər arasında məlumat mübadiləsini idarə edir və əlaqələndirir.
XVPManager – klaster elementlərinin idarə edilməsi: qovşaqlar, yaddaş, şəbəkə və virtual maşınlar.
XVPAgent – XVPManager ilə qarşılıqlı əlaqə yaratmaq üçün qovşaqlarda quraşdırılmış agent

Flexiant Cloud Orchestrator: nə ilə gəlir

Təbii ki, mövzu maraq doğurarsa, hər bir komponentin arxitekturası haqqında ətraflı hekayəni silsilə məqalələrə daxil etməyi planlaşdırırıq.

FCO-nun əsas üstünlüyü onun “qutulu” təbiətindən irəli gəlir. Sadəlik və minimalizm xidmətinizdədir. İdarəetmə qovşağı üçün Ubuntu-da bütün lazımi paketlərin quraşdırıldığı bir virtual maşın ayrılmışdır. Bütün parametrlər dəyişən-dəyər şəklində konfiqurasiya fayllarına yerləşdirilir:

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

Bütün konfiqurasiya əvvəlcə şablonlarda redaktə edilir, sonra generator işə salınır
#build-config vars faylı yaradacaq və xidmətlərə konfiqurasiyanı yenidən oxumağı əmr edəcək. İstifadəçi interfeysi gözəldir və asanlıqla markalana bilər.

Flexiant Cloud Orchestrator: nə ilə gəlir

Göründüyü kimi, interfeys istifadəçi tərəfindən idarə oluna bilən vidjetlərdən ibarətdir. O, asanlıqla səhifədən vidjetlər əlavə edə/çıxara bilər və bununla da ona lazım olan tablosunu yarada bilər.

Qapalı təbiətinə baxmayaraq, FCO yüksək səviyyədə fərdiləşdirilə bilən bir sistemdir. İş prosesini dəyişdirmək üçün çox sayda parametr və giriş nöqtəsi var:

  1. Xüsusi plaginlər dəstəklənir, məsələn, istifadəçini təmin etmək üçün öz hesablama metodunuzu və ya öz xarici resursunuzu yaza bilərsiniz.
  2. Müəyyən hadisələr üçün xüsusi tetikleyiciler dəstəklənir, məsələn, yaradılan zaman müştəriyə ilk virtual maşının əlavə edilməsi
  3. İnterfeysdəki xüsusi vidjetlər dəstəklənir, məsələn, YouTube videosunu birbaşa istifadəçi interfeysinə yerləşdirmək.

Bütün fərdiləşdirmə Lua əsasında qurulan FDL-də yazılmışdır. Əgər Luanı tanısanız, FDL ilə bağlı heç bir problem olmayacaq.

İstifadə etdiyimiz ən sadə tetikleyicilərdən birinin nümunəsi budur. Bu trigger istifadəçilərə öz şəkillərini digər müştərilərlə paylaşmağa imkan vermir. Biz bunu bir istifadəçinin digər istifadəçilər üçün zərərli təsvir yaratmasının qarşısını almaq üçün edirik.

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

Qeydiyyat funksiyası FCO nüvəsi tərəfindən çağırılacaq. O, çağırılacaq funksiyanın adını qaytaracaq. Bu funksiyanın “p” parametri zəng kontekstini saxlayır və ilk dəfə çağırılanda o, boş (sıfır) olacaq. Bu bizə tetikleyicimizi qeydiyyatdan keçirməyə imkan verəcək. triggerType-da biz göstəririk ki, tətiyi dərc etmə əməliyyatından ƏVVƏL işə salınır və yalnız istifadəçilərə təsir edir. Əlbəttə ki, sistem administratorlarına hər şeyi dərc etməyə icazə veririk. TriggerOptions-da biz tətiyin işə salınacağı əməliyyatları ətraflı təsvir edirik.

Əsas odur ki, {exitState = “CANCEL”} qaytarılmasıdır, buna görə də tətik hazırlanıb. İstifadəçi öz şəklini idarəetmə panelində paylaşmağa çalışdıqda uğursuzluqla nəticələnəcək.

FCO arxitekturasında istənilən obyekt (disk, server, şəkil, şəbəkə, şəbəkə adapteri və s.) ümumi parametrlərə malik olan Resurs obyekti kimi təqdim olunur:

  • Resurs UUID
  • resurs adı
  • resurs növü
  • Resurs sahibi UUID
  • resurs statusu (aktiv, qeyri-aktiv)
  • resurs metadata
  • resurs açarları
  • Resursa sahib olan məhsulun UUID-i
  • resurs VDC

Bütün resurslar eyni prinsipə uyğun işləndikdə bu, API-dən istifadə edərkən çox rahatdır. Məhsullar provayder tərəfindən konfiqurasiya edilir və müştəri tərəfindən sifariş edilir. Fakturamız yan tərəfdə olduğundan müştəri istənilən məhsulu paneldən sərbəst şəkildə sifariş edə bilər. Daha sonra hesablamada hesablanacaq. Məhsul saatda bir IP ünvanı, saatda əlavə GB disk və ya sadəcə server ola bilər.

Açarlardan müəyyən resursları qeyd etmək, onlarla işləmək məntiqini dəyişmək üçün istifadə etmək olar. Məsələn, Weight düyməsi ilə üç fiziki qovşağı qeyd edə bilərik və bəzi müştəriləri eyni açarla işarələyə bilərik və bununla da bu qovşaqları şəxsən bu müştərilərə ayıra bilərik. Biz bu mexanizmdən VM-lərinin yanında qonşuları sevməyən VIP müştərilər üçün istifadə edirik. Funksionallığın özü daha geniş şəkildə istifadə edilə bilər.

Lisenziyalaşdırma modeli fiziki qovşağın hər bir prosessor nüvəsi üçün ödəniş etməyi nəzərdə tutur. Xərclərə klaster növlərinin sayı da təsir edir. Məsələn, KVM və VMware-dən birlikdə istifadə etməyi planlaşdırırsınızsa, lisenziyanın qiyməti artacaq.

FCO tam hüquqlu bir məhsuldur, onun funksionallığı çox zəngindir, buna görə də şəbəkə hissəsinin fəaliyyətinin ətraflı təsviri ilə bir anda bir neçə məqalə hazırlamağı planlaşdırırıq.

Bu orkestrlə bir neçə il işləmişik, biz onu çox uyğun kimi qeyd edə bilərik. Təəssüf ki, məhsul qüsursuz deyil:

  • verilənlər bazasını optimallaşdırmalı olduq, çünki sorğular içindəki məlumatların miqdarı artdıqca yavaşlamağa başladı;
  • bir qəzadan sonra bərpa mexanizmi səhv səbəbindən işləmədi və biz öz skriptlərimizdən istifadə edərək bədbəxt müştərilərin maşınlarını bərpa etməli olduq;
  • Düyün əlçatmazlığının aşkarlanması mexanizmi koda qoşulub və fərdiləşdirilə bilməz. Yəni, qovşağın əlçatmazlığını müəyyən etmək üçün öz siyasətimizi yarada bilmərik.
  • giriş həmişə ətraflı deyil. Bəzən, müəyyən bir problemi başa düşmək üçün çox aşağı səviyyəyə enmək lazım olduqda, bəzi komponentlərin səbəbini anlamaq üçün kifayət qədər mənbə kodunuz yoxdur;

TOTAL: Ümumiyyətlə, məhsulun təəssüratları yaxşıdır. Biz orkestr tərtibatçıları ilə daimi əlaqə saxlayırıq. Uşaqlar konstruktiv əməkdaşlığa meyllidirlər.

Sadəliyinə baxmayaraq, FCO geniş funksionallığa malikdir. Gələcək məqalələrdə aşağıdakı mövzuları daha dərindən araşdırmağı planlaşdırırıq:

  • FCO-da şəbəkə
  • canlı bərpa və FQP protokolunu təmin edir
  • öz plaginlərinizi və vidjetlərinizi yazın
  • Load Balancer və Acronis kimi əlavə xidmətləri birləşdirən
  • ehtiyat nüsxəsi
  • qovşaqların konfiqurasiyası və konfiqurasiyası üçün vahid mexanizm
  • virtual maşın metadatasının işlənməsi

ZY Başqa aspektlərlə maraqlanırsınızsa, şərhlərdə yazın. Bizimlə qalın!

Mənbə: www.habr.com

Добавить комментарий