Ցանցային գործվածք Cisco ACI տվյալների կենտրոնի համար՝ ադմինիստրատորին օգնելու համար

Ցանցային գործվածք Cisco ACI տվյալների կենտրոնի համար՝ ադմինիստրատորին օգնելու համար
Cisco ACI սկրիպտի այս կախարդական կտորի օգնությամբ դուք կարող եք արագ ցանց ստեղծել:

Cisco ACI տվյալների կենտրոնի ցանցային գործարանը գոյություն ունի արդեն հինգ տարի, բայց Habré-ն իրականում ոչինչ չի ասել դրա մասին, ուստի ես որոշեցի մի փոքր շտկել այն: Ես ձեզ իմ սեփական փորձից կասեմ, թե ինչ է դա, ինչի օգուտը և որտեղ այն ունի փոցխ:

Ի՞նչ է դա և որտեղի՞ց է առաջացել:

Երբ ACI-ն (Application Centric Infrastructure) հայտարարվեց 2013 թվականին, մրցակիցներն առաջ էին տանում տվյալների կենտրոնների ցանցերի ավանդական մոտեցումները միանգամից երեք կողմից:

Մի կողմից, OpenFlow-ի վրա հիմնված «առաջին սերնդի» SDN լուծումները խոստացան ցանցերը դարձնել ավելի ճկուն և միևնույն ժամանակ ավելի էժան: Գաղափարն այն էր, որ որոշումների կայացումը, որն ավանդաբար արվում էր սեփական անջատիչ ծրագրաշարի միջոցով, տեղափոխել կենտրոնական վերահսկիչ:

Այս կարգավորիչը կունենա մեկ տեսլական այն ամենի մասին, ինչ տեղի է ունենում, և դրա հիման վրա կծրագրավորեր բոլոր անջատիչների սարքավորումը հատուկ հոսքերի մշակման կանոնների մակարդակով:
Մյուս կողմից, ծածկույթի ցանցային լուծումները հնարավորություն տվեցին իրականացնել կապի և անվտանգության անհրաժեշտ քաղաքականություն՝ առանց ֆիզիկական ցանցում ընդհանրապես որևէ փոփոխության՝ վիրտուալացված հոսթերների միջև ծրագրային թունելներ կառուցելով: Այս մոտեցման ամենահայտնի օրինակը Nicira-ն էր, որը մինչ այդ արդեն ձեռք էր բերվել VMWare-ի կողմից 1,26 միլիարդ դոլարով և առաջացրեց ներկայիս VMWare NSX-ը: Իրավիճակին որոշ դիպուկ ավելացավ այն փաստը, որ Nicira-ի համահիմնադիրները նույն մարդիկ էին, ովքեր նախկինում կանգնած էին OpenFlow-ի ակունքներում՝ այժմ ասելով, որ տվյալների կենտրոնի գործարան կառուցելու համար։ OpenFlow-ը հարմար չէ.

Եվ վերջապես, բաց շուկայում առկա անջատիչ չիպերը (ինչը կոչվում է առևտրական սիլիցիում) հասել է հասունության մի փուլի, որտեղ դրանք իրական սպառնալիք են դարձել ավանդական անջատիչների արտադրողների համար: Եթե ​​նախկինում յուրաքանչյուր վաճառող ինքնուրույն մշակում էր չիպեր իր անջատիչների համար, ապա ժամանակի ընթացքում երրորդ կողմի արտադրողների չիպերը, հիմնականում Broadcom-ից, սկսեցին կրճատել վաճառողի չիպերի հետ հեռավորությունը գործառույթների առումով և գերազանցել դրանք գնի / կատարողականի հարաբերակցությամբ: Հետևաբար, շատերը կարծում էին, որ իրենց դիզայնի չիպերի անջատիչների օրերը համարակալված են:

ACI-ն դարձել է Cisco-ի «ասիմետրիկ պատասխանը» (ավելի ճիշտ՝ նրա Insieme ընկերությունը, որը հիմնադրվել է իր նախկին աշխատակիցների կողմից) վերը նշված բոլորին։

Ո՞րն է տարբերությունը OpenFlow-ի հետ:

Գործառույթների բաշխման առումով ACI-ն իրականում OpenFlow-ի հակառակն է:
OpenFlow ճարտարապետության մեջ վերահսկիչը պատասխանատու է մանրամասն կանոններ (հոսքեր) գրելու համար:
բոլոր անջատիչների ապարատում, այսինքն՝ մեծ ցանցում, այն կարող է պատասխանատու լինել ցանցի հարյուրավոր կետերում տասնյակ միլիոնավոր գրառումներ պահպանելու և, ամենակարևորը, փոփոխելու համար, ուստի դրա կատարողականությունն ու հուսալիությունը դառնում են խոչընդոտ։ մեծ իրականացում։

ACI-ն օգտագործում է հակառակ մոտեցումը. իհարկե, կա նաև վերահսկիչ, բայց անջատիչները դրանից ստանում են բարձր մակարդակի հռչակագրային քաղաքականություն, և անջատիչն ինքն է կատարում դրանց փոխանցումը ապարատային հատուկ պարամետրերի մանրամասներին: Կարգավորիչը կարող է վերագործարկվել կամ ընդհանրապես անջատվել, և ցանցին ոչ մի վատ բան չի պատահի, բացառությամբ, իհարկե, այս պահին հսկողության բացակայությունից։ Հետաքրքիր է, որ ACI-ում կան իրավիճակներ, որոնցում OpenFlow-ը դեռ օգտագործվում է, բայց լոկալ հոսթի ներսում Open vSwitch ծրագրավորման համար:

ACI-ն ամբողջությամբ կառուցված է VXLAN-ի վրա հիմնված կափարիչ տրանսպորտի վրա, սակայն ներառում է հիմքում ընկած IP փոխադրումը որպես մեկ լուծման մաս: Cisco-ն սա անվանեց «ինտեգրված ծածկույթ» տերմին: Որպես ACI-ում ծածկույթների վերջնակետ, շատ դեպքերում օգտագործվում են գործարանային անջատիչներ (նրանք դա անում են կապի արագությամբ): Հոսթներից չի պահանջվում որևէ բան իմանալ գործարանի, ինկապսուլյացիայի և այլնի մասին, այնուամենայնիվ, որոշ դեպքերում (օրինակ, OpenStack հոսթինգները միացնելու համար), VXLAN տրաֆիկը կարող է բերվել նրանց մոտ:

ACI-ում ծածկույթներն օգտագործվում են ոչ միայն տրանսպորտային ցանցի միջոցով ճկուն կապ ապահովելու, այլ նաև մետատեղեկատվություն փոխանցելու համար (այն օգտագործվում է, օրինակ, անվտանգության քաղաքականության կիրառման համար):

Broadcom-ի չիպերը նախկինում Cisco-ի կողմից օգտագործվել են Nexus 3000 սերիայի անջատիչներում: Nexus 9000 ընտանիքում, որը հատուկ թողարկվել է ACI-ին աջակցելու համար, ի սկզբանե ներդրվել է հիբրիդային մոդել, որը կոչվում է Merchant +: Անջատիչը միաժամանակ օգտագործեց ինչպես նոր Broadcom Trident 2 չիպը, այնպես էլ Cisco-ի կողմից մշակված լրացուցիչ չիպը, որն իրականացնում է ACI-ի ողջ մոգությունը: Ըստ երևույթին, դա թույլ տվեց արագացնել արտադրանքի թողարկումը և նվազեցնել անջատիչի գինը մի մակարդակի, որը մոտ է այն մոդելներին, որոնք պարզապես հիմնված են Trident 2-ի վրա: Այս մոտեցումը բավարար էր ACI-ի մատակարարումների առաջին երկու-երեք տարիների համար: Այս ընթացքում Cisco-ն մշակեց և թողարկեց հաջորդ սերնդի Nexus 9000-ը սեփական չիպերի վրա՝ ավելի մեծ կատարողականությամբ և առանձնահատկություններով, բայց նույն գների մակարդակով: Արտաքին բնութագրերը գործարանում փոխազդեցության առումով ամբողջությամբ պահպանված են։ Միևնույն ժամանակ, ներքին լցոնումն ամբողջությամբ փոխվել է՝ ռեֆակտորինգի նման մի բան, բայց երկաթի համար։

Ինչպես է աշխատում Cisco ACI Architecture-ը

Ամենապարզ դեպքում ACI-ն կառուցված է Klose ցանցի տոպոլոգիայի վրա կամ, ինչպես հաճախ են ասում, Spine-Leaf-ի վրա։ Ողնաշարի մակարդակի անջատիչները կարող են լինել երկուսից (կամ մեկից, եթե մենք չենք մտածում սխալների հանդուրժողականության մասին) մինչև վեցը: Համապատասխանաբար, որքան շատ լինեն դրանք, այնքան բարձր է անսարքության հանդուրժողականությունը (որքան ցածր է թողունակությունը և հուսալիության նվազումը վթարի կամ մեկ ողնաշարի պահպանման դեպքում) և ընդհանուր կատարումը: Բոլոր արտաքին կապերն անցնում են տերևի մակարդակի անջատիչներին. սրանք սերվերներ են և արտաքին ցանցերի հետ կապակցում L2 կամ L3-ի միջոցով և միացնում APIC կարգավորիչները: Ընդհանուր առմամբ, ACI-ով ոչ միայն կոնֆիգուրացիա, այլև վիճակագրության հավաքագրում, ձախողումների մոնիտորինգ և այլն, ամեն ինչ արվում է կարգավորիչների միջերեսի միջոցով, որոնցից երեքը կան ստանդարտ չափսի իրականացումներում:

Դուք երբեք չպետք է միացնեք անջատիչներին կոնսոլով, նույնիսկ ցանցը գործարկելու համար. վերահսկիչն ինքն է հայտնաբերում անջատիչները և դրանցից հավաքում գործարան, ներառյալ սպասարկման բոլոր արձանագրությունների կարգավորումները, հետևաբար, ի դեպ, շատ կարևոր է. Գրեք տեղադրման ընթացքում տեղադրվող սարքավորումների սերիական համարները, որպեսզի հետագայում ստիպված չլինեք գուշակել, թե որ անջատիչը որ դարակում է գտնվում: Անսարքությունների վերացման համար, անհրաժեշտության դեպքում, դուք կարող եք միանալ անջատիչներին SSH-ի միջոցով. դրանք բավականին ուշադիր վերարտադրում են Cisco-ի սովորական շոուի հրամանները:

Ներքին մասում գործարանն օգտագործում է IP տրանսպորտ, ուստի դրա մեջ չկա Spanning Tree և անցյալի այլ սարսափներ. բոլոր օղակները ներգրավված են, և խափանումների դեպքում կոնվերգենցիան շատ արագ է: Գործվածքի մեջ երթևեկությունը փոխանցվում է VXLAN-ի վրա հիմնված թունելների միջոցով: Ավելի ճիշտ, Cisco-ն ինքն է անվանում iVXLAN encapsulation, և այն տարբերվում է սովորական VXLAN-ից նրանով, որ ցանցի վերնագրի վերապահված դաշտերը օգտագործվում են ծառայության տեղեկատվությունը փոխանցելու համար, հիմնականում, EPG խմբի հետ տրաֆիկի փոխհարաբերությունների մասին: Սա թույլ է տալիս կիրառել սարքավորումների խմբերի միջև փոխգործակցության կանոնները՝ օգտագործելով նրանց համարները այնպես, ինչպես հասցեները օգտագործվում են սովորական մուտքի ցուցակներում:

Թունելները թույլ են տալիս և՛ L2 հատվածները, և՛ L3 հատվածները (այսինքն՝ VRF) ձգվել ներքին IP տրանսպորտի միջոցով: Այս դեպքում լռելյայն դարպասը բաշխվում է: Սա նշանակում է, որ յուրաքանչյուր անջատիչ պատասխանատու է գործվածք մտնող երթևեկության ուղղման համար: Երթևեկության հոսքի տրամաբանության առումով ACI-ն նման է VXLAN/EVPN գործվածքին:

Եթե ​​այո, ապա որո՞նք են տարբերությունները: Մնացած ամեն ինչ!

Թիվ մեկ տարբերությունը, որը դուք հանդիպում եք ACI-ի հետ, այն է, թե ինչպես են սերվերները միացված ցանցին: Ավանդական ցանցերում և՛ ֆիզիկական սերվերների, և՛ վիրտուալ մեքենաների ներառումը գնում է դեպի VLAN, և մնացած ամեն ինչ կախված է դրանցից՝ կապ, անվտանգություն և այլն: ACI-ում օգտագործվում է դիզայն, որը Cisco-ն անվանում է EPG (End-point Group), որից փախչելու տեղ չկա: Հնարավո՞ր է արդյոք այն հավասարեցնել VLAN-ին: Այո, բայց այս դեպքում հնարավորություն կա կորցնելու ACI-ի տվածի մեծ մասը:

Ինչ վերաբերում է EPG-ին, մուտքի բոլոր կանոնները ձևակերպված են, իսկ ACI-ում լռելյայն օգտագործվում է «սպիտակ ցուցակի» սկզբունքը, այսինքն՝ թույլատրվում է միայն երթևեկությունը, որի անցումը բացահայտորեն թույլատրված է։ Այսինքն՝ մենք կարող ենք ստեղծել «Web» և «MySQL» EPG խմբերը և սահմանել կանոն, որը թույլ է տալիս նրանց միջև հաղորդակցվել միայն 3306 նավահանգստում: Սա կաշխատի առանց ցանցի հասցեների հետ կապվելու և նույնիսկ նույն ենթացանցում:

Մենք ունենք հաճախորդներ, ովքեր ընտրել են ACI-ն հենց այս հատկության պատճառով, քանի որ այն թույլ է տալիս սահմանափակել մուտքը սերվերների միջև (վիրտուալ կամ ֆիզիկական, կարևոր չէ)՝ առանց դրանք ենթացանցերի միջև քաշելու, ինչը նշանակում է առանց հասցեագրման դիպչելու: Այո, այո, մենք գիտենք, որ ոչ ոք ձեռքով չի նշանակում IP հասցեներ հավելվածների կոնֆիգուրացիաներում, այնպես չէ՞:

ACI-ում երթևեկության կանոնները կոչվում են պայմանագրեր: Նման պայմանագրում բազմաշերտ հավելվածի մեկ կամ մի քանի խմբեր կամ մակարդակներ դառնում են ծառայություններ մատուցող (ասենք՝ տվյալների բազայի ծառայություն), մյուսները՝ սպառող։ Պայմանագիրը կարող է պարզապես փոխանցել երթևեկությունը, կամ կարող է անել ավելի բարդ բան, օրինակ՝ ուղղել այն դեպի firewall կամ հավասարակշռող, ինչպես նաև փոխել QoS արժեքը:

Ինչպե՞ս են սերվերները մտնում այս խմբերի մեջ: Եթե ​​դրանք ֆիզիկական սերվերներ են կամ գոյություն ունեցող ցանցում ընդգրկված ինչ-որ բան, որի մեջ մենք ստեղծել ենք VLAN բեռնախցիկ, ապա դրանք EPG-ում տեղադրելու համար ձեզ հարկավոր է մատնանշել անջատիչ պորտը և դրա վրա օգտագործվող VLAN-ը: Ինչպես տեսնում եք, VLAN-ները հայտնվում են այնտեղ, որտեղ դուք չեք կարող անել առանց դրանց:

Եթե ​​սերվերները վիրտուալ մեքենաներ են, ապա բավական է դիմել միացված վիրտուալացման միջավայրին, և ամեն ինչ ինքնըստինքյան կկատարվի. կստեղծվի պորտ խումբ (VMWare-ի առումով)՝ VM-ը միացնելու համար, անհրաժեշտ VLAN-ները կամ VXLAN-ները։ նշանակված կլինեն, դրանք կգրանցվեն անհրաժեշտ անջատիչ պորտերում և այլն: Այսպիսով, չնայած ACI-ն կառուցված է ֆիզիկական ցանցի շուրջ, վիրտուալ սերվերների համար կապերը շատ ավելի պարզ են թվում, քան ֆիզիկականների համար: ACI-ն արդեն ունի ներկառուցված կապ VMWare-ի և MS Hyper-V-ի հետ, ինչպես նաև աջակցություն OpenStack-ի և RedHat վիրտուալացման համար: Ինչ-որ պահից ի վեր հայտնվել է նաև ներկառուցված աջակցություն կոնտեյներային հարթակների համար. որ խմբերի մեջ են մտնում։

Բացի որոշակի նավահանգիստների խմբում ընդգրկվելուց, վիրտուալ սերվերներն ունեն լրացուցիչ հատկություններ՝ անուն, ատրիբուտներ և այլն, որոնք կարող են օգտագործվել որպես չափորոշիչներ՝ դրանք մեկ այլ խմբին փոխանցելու համար, ասենք, երբ VM-ն վերանվանվում է կամ լրացուցիչ պիտակ է հայտնվում: այն. Cisco-ն սա անվանում է միկրո-հատվածային խմբեր, չնայած, մեծ հաշվով, դիզայնն ինքնին, որը կարող է նույն ենթացանցում EPG-ների տեսքով ստեղծել բազմաթիվ անվտանգության սեգմենտներ, նույնպես բավականին միկրոհատվածացում է: Դե, վաճառողը ավելի լավ գիտի:

EPG-ներն իրենք զուտ տրամաբանական կոնստրուկցիաներ են, որոնք կապված չեն կոնկրետ անջատիչների, սերվերների և այլնի հետ, այնպես որ դուք կարող եք անել այնպիսի բաներ, որոնք հիմնված են դրանց վրա (հավելվածներ և վարձակալներ), որոնք դժվար է անել սովորական ցանցերում, օրինակ՝ կլոնավորումը: Արդյունքում, ենթադրենք, շատ հեշտ է կլոնավորել արտադրական միջավայրը, որպեսզի ստանանք թեստային միջավայր, որը երաշխավորված է, որ նույնական է արտադրական միջավայրին: Դուք կարող եք դա անել ձեռքով, բայց դա ավելի լավ է (և ավելի հեշտ) API-ի միջոցով:

Ընդհանուր առմամբ, ACI-ի կառավարման տրամաբանությունը բոլորովին նման չէ նրան, ինչ սովորաբար հանդիպում եք
նույն Cisco-ի ավանդական ցանցերում. ծրագրային ինտերֆեյսը առաջնային է, իսկ GUI-ն կամ CLI-ն երկրորդական են, քանի որ դրանք աշխատում են նույն API-ի միջոցով: Հետևաբար, գրեթե բոլորը, ովքեր ներգրավված են ACI-ում, որոշ ժամանակ անց սկսում են նավարկել կառավարման համար օգտագործվող օբյեկտի մոդելը և ավտոմատացնել ինչ-որ բան իրենց կարիքներին համապատասխան: Դա անելու ամենահեշտ ձևը Python-ն է՝ դրա համար հարմար պատրաստի գործիքներ կան։

Խոստացված փոցխ

Հիմնական խնդիրն այն է, որ ACI-ում շատ բաներ այլ կերպ են արվում: Դրա հետ նորմալ աշխատելու համար հարկավոր է վերապատրաստվել։ Սա հատկապես ճիշտ է խոշոր հաճախորդների ցանցային օպերացիոն թիմերի համար, որտեղ ինժեներները տարիներ շարունակ «նշանակում են VLAN-ներ» ըստ պահանջի: Այն փաստը, որ այժմ VLAN-ներն այլևս VLAN-ներ չեն, և ձեզ հարկավոր չէ ձեռքով VLAN-ներ ստեղծել՝ վիրտուալացված հոսթերում նոր ցանցեր տեղադրելու համար, ամբողջովին փչում է ավանդական ցանցերի տանիքը և ստիպում նրանց կառչել ծանոթ մոտեցումներից: Հարկ է նշել, որ Cisco-ն փորձել է մի փոքր քաղցրացնել հաբը և կարգավորիչին ավելացրել է «NXOS-ի նման» CLI, որը թույլ է տալիս կոնֆիգուրացիա կատարել ավանդական անջատիչների նման ինտերֆեյսից։ Բայց այնուամենայնիվ, ACI-ն նորմալ օգտագործելու համար պետք է հասկանալ, թե ինչպես է այն աշխատում:

Գների առումով, մեծ և միջին մասշտաբներով, ACI ցանցերն իրականում չեն տարբերվում Cisco-ի սարքավորումների ավանդական ցանցերից, քանի որ դրանց կառուցման համար օգտագործվում են նույն անջատիչները (Nexus 9000-ը կարող է աշխատել ACI-ով և ավանդական ռեժիմով և այժմ դարձել է հիմնականը: «աշխատանքային ձի» տվյալների կենտրոնների նոր նախագծերի համար): Բայց երկու անջատիչների տվյալների կենտրոնների համար կարգավորիչների առկայությունը և Spine-Leaf ճարտարապետությունը, իհարկե, իրենց զգացնել են տալիս: Վերջերս հայտնվել է Mini ACI գործարանը, որում երեք կարգավորիչներից երկուսը փոխարինվում են վիրտուալ մեքենաներով։ Սա նվազեցնում է ծախսերի տարբերությունը, բայց այն դեռ մնում է: Այսպիսով, հաճախորդի համար ընտրությունը թելադրված է նրանով, թե որքանով է նա հետաքրքրված անվտանգության առանձնահատկություններով, վիրտուալացման հետ ինտեգրմամբ, վերահսկման մեկ կետով և այլն:

Source: www.habr.com

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