VK Cloud logo

Қолданылатын SDN

SDN дегеніміз не

SDN (Software Defined Network, бағдарламалық түрде анықталатын желі) — бұл басқару деңгейі деректерді жіберу деңгейінен бөлінетін желіні басқару тәсілі.

Егер дәстүрлі желілерде барлық құрылғылар (коммутаторлар, маршрутизаторлар) деректерді жіберу кезінде өздерінің бағыттау кестелерін пайдаланса, SDN ішінде бүкіл желіні орталықтандырылған контроллер басқарады.

Мұндай тәсілдің келесі артықшылықтары бар:

  • Желілік күй мен инфрақұрылымды басқару, масштабтау және істен шығуға төзімді инфрақұрылымдар құру оңайырақ.
  • Желіні өзгеріп отыратын қажеттіліктерге оңай бейімдеуге, соның ішінде желіні баптауды автоматтандыруға және икемдеуге болады.
  • Трафикті өңдеуді икемдірек баптау.
  • Желілік элементтерді түгендеуді жеңілдету. Мысалы, істен шыққан кезде объектілерді жоюды автоматтандыруға немесе желілік күйді қайта теңгеруді баптауға болады.
  • Жеткізушіге тәуелсіз желіні басқару шешімдерін пайдалану.

SDN — overlay-желілерді (физикалық желінің үстіндегі виртуалды желі) басқару құралы және бұлттық инфрақұрылымның негізі. SDN бағыттауды, трафикті шектеу ережелерін басқаруды және сервистер арасындағы желілік байланыстылықты қамтамасыз етеді. VK Cloud өзінің SDN-шешімін — Sprut пайдаланады.

SDN пайдалану конфигурацияны жылдам өзгертуге және инфрақұрылым ішіндегі ресурстарды көшіруге мүмкіндік береді, бұл 1000 және одан да көп сервері бар таратылған инфрақұрылымды ұйымдастырудың міндетті шарты болып табылады.

SDN пайдалану сценарийлері:

  • Жоба ішіндегі желілік байланыстылықты ұйымдастыру.
  • Виртуалды маршрутизаторларды, желілер мен ішкі желілерді пайдалану.
  • Интернетке қолжетімділікті және жобаға сыртқы желілерден қосылуды ұйымдастыру.
  • Жобадағы IP-адрестерді басқару.
  • Бағыттау ережелерін баптау.
VK Cloud архитектурасындағы SDN

Бұлт архитектурасындағы барлық сервистер мен өнімдер SDN-пен байланысты, сондықтан VK Cloud үшін сенімді, икемді және істен шығуға төзімді SDN-шешімі болуы маңызды.

Sprut

Sprut — VK Cloud әзірлеген, SDN Neutron ауыстыру үшін жасалған және OpenStack Neutron API-мен толық үйлесімді жеке әзірлеме. Барлық жаңа жобалар SDN Sprut пайдаланады, ал ескі жобалар үшін миграцияны орындау ұсынылады, өйткені SDN Neutron пайдаланудан шығарылып жатыр.

SDN Sprut осы желілердің үстіндегі желілер мен желілік функциялардың ірі ауқымда тұрақты жұмысын қамтамасыз етеді.

SDN Sprut архитектурасының ерекшеліктері:

  • Хабарламалар кезегінің орнына HTTP REST API пайдаланылады, бұл компоненттер арасындағы синхронды байланысты қамтамасыз етеді.
  • Барлық агенттер өздерінің ағымдағы күйін сақтайды. Агенттер SDN-контроллерден болуы тиіс мақсатты күйді алады және өз күйін талап етілетін күйге келтіреді.
  • Микросервистік архитектура іске асырылған. Әрбір сервис өз функционалдығына жауап береді және басқаларынан тәуелсіз жайылтыла алады.
  • Көпдеңгейлі архитектура деректерді жіберу деңгейін (dataplane) оңтайландыруға мүмкіндік берді.
  • Тұйық басқару контуры жүйеге бұлттық платформаның сенімді жұмысы үшін автоматты түрде бейімделуге мүмкіндік береді.

Сызбада SDN Neutron және SDN Sprut архитектураларының салыстырмасы көрсетілген.

SDN Neutron және SDN Sprut архитектурасы

SDN Sprut туралы қосымша материалдар:

Neutron

Neutron — OpenStack платформасының бөлігі болып табылатын және оның басқа компоненттерімен (ВМ, сақтау, сәйкестендіру) интеграцияланған SDN. VK Cloud ішінде SDN Neutron пайдаланудан шығарылып жатыр және жаңа жобалар үшін қосылмайды. Сондай-ақ SDN Neutron қолжетімділік аймағында қолданылмайды.

SDN Neutron архитектурасының ерекшеліктері:

  • SDN компоненттері арасындағы өзара әрекеттесу асинхронды түрде жүреді және оқиғаларға негізделген.
  • Оқиғалар RabbitMQ арқылы өңделеді.
  • Желіні автоматтандыру және басқару Neutron API арқылы жүзеге асырылады.
  • Әртүрлі желілік сервистерді іске асыруға және әртүрлі технологияларды қолдауға жауап беретін плагиндерді пайдаланады (VLAN, VXLAN, GRE, geneve, Flat).
  • Желілік объектілер мен конфигурация туралы ақпарат дерекқорда сақталады.
  • Деректерді жіберу үшін әртүрлі агенттерді пайдаланады.

Әдепкі бойынша SDN Neutron ішінде келесі желілік сервистер қолжетімді:

  • виртуалды маршрутизаторлар;
  • жүктеме теңгергіштері;
  • VPN;
  • DNS;
  • қауіпсіздік топтары.

Сызбада SDN Neutron архитектурасы мен жұмыс схемасы берілген.

SDN Neutron архитектурасы

Ұзақ уақыт бойы VK Cloud ішінде тек SDN Neutron пайдаланылды, бұл келесі мәселелер мен шектеулерді тудырды:

  • Neutron архитектурасын масштабтау қиын және ол бұлт инфрақұрылымын тиімді ұлғайтуға мүмкіндік бермейді.
  • Деректерді жіберу деңгейінің (dataplane) шамадан тыс күрделілігі салдарынан оқиғалар саны өседі.
  • Оқиғалардың көп болуына байланысты олар RabbitMQ кезегінде жоғалады.
  • Жаңа функционалдылықты қосу қиын немесе мүмкін емес.
  • Көптеген агенттер өз күйін сақтамайды және нашар синхрондалады.
  • SDN Neutron желіні ауқымды қайта құрулармен (full-sync) нашар жұмыс істейді.

SDN Neutron масштабталуы мен сенімділігіне қатысты мәселелерді шешу SDN Sprut атты жеке SDN-шешімді әзірлеу болды.