cisco լոգոն

CISCO IOS XR հոստինգի հավելվածներ

CISCO IOS XR հոստինգի հավելվածներ

Հոսթինգ հավելվածներ IOS XR-ում
Այս բաժինը բացատրում է հավելվածների հոսթինգի տարբեր տեսակները և ցույց է տալիս, թե ինչպես կարող է պարզ հավելվածը տեղակայվել բնիկ կամ երրորդ կողմի կոնտեյներով IOS XR-ում:

  • Հավելվածի հոստինգ՝ Docker կոնտեյներների միջոցով:
  • Docker-ի վրա հիմնված կոնտեյներային հավելվածի հոստինգ:

Հավելվածի հոստինգ՝ Docker կոնտեյներների միջոցով
IOS XR-ում հավելվածների հոսթինգն աջակցում է դոկեր կոնտեյներներին: Դուք կարող եք ստեղծել ձեր սեփական կոնտեյները IOS XR-ի վրա՝ օգտագործելով docker, և հյուրընկալող հավելվածները կոնտեյների ներսում: Հավելվածները կարող են մշակվել ցանկացած Linux բաշխման միջոցով: Սա լավ է հարմար հավելվածների համար, որոնք օգտագործում են համակարգային գրադարաններ, որոնք տարբերվում են IOS XR արմատից տրամադրվածից file համակարգ. Cisco NCS 540-ն աջակցում է միայն դոկերի վրա հիմնված հավելվածների հոստինգին:

Docker-ի վրա հիմնված կոնտեյներային հավելվածի հոստինգ
Այս բաժինը ներկայացնում է կոնտեյներային հավելվածների հոսթինգի հայեցակարգը և նկարագրում է դրա աշխատանքի ընթացքը: Կոնտեյներային հավելվածների հոսթինգը հնարավորություն է տալիս հավելվածներին տեղակայել իրենց սեփական միջավայրում և գործընթացի տարածությունում (անունների տարածություն) Cisco IOS XR-ի Linux կոնտեյների մեջ: Հավելվածի մշակողը լիովին վերահսկում է հավելվածների մշակման միջավայրը և կարող է օգտագործել նախընտրած Linux բաշխումը: Հավելվածները մեկուսացված են IOS XR կառավարման հարթության գործընթացներից. այնուամենայնիվ, նրանք կարող են միանալ XR-ից դուրս գտնվող ցանցերին XR GigE միջերեսների միջոցով: Հավելվածները կարող են նաև հեշտությամբ մուտք գործել տեղական file համակարգեր IOS XR-ում:

Օգտագործելով Docker-ը Cisco IOS XR-ի վրա հոսթինգ հավելվածների համար
Docker-ը կոնտեյներ է, որն օգտագործվում է Cisco IOS XR-ում հավելվածների հոսթինգի համար: Docker-ն ապահովում է կիրառական գործընթացների մեկուսացում XR-ի հիմքում ընկած հյուրընկալող գործընթացներից՝ օգտագործելով Linux ցանցի անվանատարածքները:

Պետք է Docker-ը Cisco IOS XR-ում
Docker-ը դառնում է արդյունաբերության կողմից նախընտրելի փաթեթավորման մոդելը վիրտուալացման տարածքում հավելվածների համար: Docker-ը հիմք է ստեղծում հավելվածների կյանքի ցիկլի կառավարման ավտոմատացման համար: Docker-ը հետևում է շերտավոր մոտեցմանը, որը բաղկացած է ներքևի բազային պատկերից, որն աջակցում է վերևում գտնվող հավելվածների շերտերին: Հիմնական պատկերները հասանելի են հրապարակային պահեստում՝ կախված հավելվածի տեսակից, որը ցանկանում եք տեղադրել վերևում: Դուք կարող եք շահարկել դոկերի պատկերները՝ օգտագործելով դոկերի ինդեքսը և ռեեստրը: Docker-ն ապահովում է git-ի նման աշխատանքային հոսք կոնտեյներային հավելվածների մշակման համար և աջակցում է «բարակ թարմացման» մեխանիզմը, որտեղ թարմացվում է միայն սկզբնական կոդի տարբերությունը, ինչը հանգեցնում է ավելի արագ թարմացումների: Docker-ը նաև տրամադրում է «բարակ ներբեռնման» մեխանիզմը, որտեղ նոր հավելվածներն ավելի արագ են ներբեռնվում՝ բազմաթիվ դոկեր կոնտեյներների միջև ընդհանուր բազային դոկերի շերտերի համօգտագործման պատճառով: Դոկերի շերտերի համօգտագործումը մի քանի դոկեր կոնտեյներների միջև հանգեցնում է XR-ի վրա դոկեր կոնտեյներների ավելի ցածր հետքի:

Docker Architecture-ը Cisco IOS XR-ում
Հետևյալ նկարը ցույց է տալիս IOS XR-ի դոկերի ճարտարապետությունը:

CISCO IOS XR հոստինգի հավելվածներ 1

Հավելվածների երկուականները տեղադրվող հավելվածների համար տեղադրվում են դոկեր կոնտեյների ներսում:

Հոսթինգ հավելվածներ Docker Containers-ում
Հետևյալ նկարը ցույց է տալիս IOS XR-ի Docker կոնտեյներներում հավելվածների հոսթինգի աշխատանքի ընթացքը:
CISCO IOS XR հոստինգի հավելվածներ 2

  1. Նավահանգիստը file սկզբնաղբյուրի պահոցում օգտագործվում է հավելվածը երկուական ձև ստեղծելու համար file ձեր (docker engine build) հոսթ մեքենայի վրա:
  2. Դիմումի երկուական file դրվում է դոկերի պատկերի ռեեստր:
  3. Դիմումի երկուական file դուրս է բերվում դոկերի պատկերի ռեեստրից և պատճենվում է դոկերի կոնտեյներ XR-ի վրա (docker engine target host):
  4. Հավելվածը կառուցված է և տեղակայված է դոկեր կոնտեյներով XR-ում:

Ծրագրերի թարմացում Docker Containers-ում
Հետևյալ նկարը ցույց է տալիս դոկեր կոնտեյներներում տեղակայված հավելվածների թարմացման աշխատանքների ընթացքը:CISCO IOS XR հոստինգի հավելվածներ 3

  1. Հավելվածի թարմացումը ստեղծվում է որպես հիմնական libs թարմացում file (դելտա թարմացում file) և դրվեց դոկերի պատկերի ռեեստր:
  2. Դելտայի թարմացում file (պարունակում է միայն հավելվածի կոդերի տարբերությունը) հանվում է docker պատկերի գրանցամատյանից և պատճենվում XR-ի դոկերի կոնտեյներներում (docker engine target host):
  3. Դոկերի բեռնարկղերը վերագործարկվում են դելտա թարմացմամբ file.

TPA-ի հոստինգ՝ օգտագործելով հավելվածի կառավարիչը

Աղյուսակ 1. Հատկանիշների պատմության աղյուսակ

Առանձնահատկություն Անուն Տեղեկություն թողարկման մասին Առանձնահատկություն Նկարագրություն
Պահանջով Docker Daemon ծառայություն Թողարկում 7.5.1 Այս թողարկումից սկսած՝

Docker daemon ծառայությունը սկսվում է երթուղիչի վրա միայն այն դեպքում, եթե կարգավորեք երրորդ կողմի հոսթինգի հավելվածը՝ օգտագործելով appmgr հրաման. Նմանատիպ ծառայությունը օպտիմիզացնում է օպերացիոն համակարգի ռեսուրսները, ինչպիսիք են պրոցեսորը, հիշողությունը և էներգիան:

Ավելի վաղ թողարկումներում Docker daemon ծառայությունը ավտոմատ կերպով գործարկվում էր երթուղիչի բեռնման ժամանակ:

Նախորդ թողարկումներում հավելվածները հյուրընկալվել և վերահսկվել են Docker հրամաններով: Docker-ի այս հրամաններն իրականացվել են միջուկի bash shell-ում, որը նաև հյուրընկալել է Cisco IOS XR ծրագրակազմը: Application Manager-ի ներդրմամբ այժմ հնարավոր է կառավարել երրորդ կողմի հավելվածների հոսթինգը և դրանց գործունեությունը Cisco IOS XR CLI-ների միջոցով: Այս ֆունկցիայի միջոցով երրորդ կողմի բոլոր ակտիվացված հավելվածները կարող են ավտոմատ կերպով վերագործարկվել երթուղիչի վերաբեռնումից կամ RP-ի անցումից հետո: Հավելվածների այս ավտոմատ վերագործարկումը ապահովում է հյուրընկալված հավելվածների անխափան աշխատանքը:

Աջակցվող հրամաններ Application Manager-ում
Կատարված յուրաքանչյուր հավելվածի կառավարչի հրամանի կամ կազմաձևման համար Application Manager-ը կատարում է պահանջվող գործողությունը՝ Docker վարդակի միջոցով շփվելով Docker daemon-ի հետ: Հետևյալ աղյուսակում թվարկված են Docker կոնտեյների գործառույթները, Docker-ի ընդհանուր հրամանները, որոնք օգտագործվել են նախորդ թողարկումներում և դրա համարժեք հավելվածի կառավարչի հրամանները, որոնք այժմ կարող են օգտագործվել.

Ֆունկցիոնալություն Ընդհանուր Docker հրամաններ Դիմում Կառավարիչ Հրամաններ
Տեղադրեք RPM հավելվածը NA Router#appmgr փաթեթի տեղադրում rpm

image_name-0.1.0-XR_7.3.1.x86_64.rpm

Կազմաձևեք և ակտիվացրեք հավելվածը • Բեռնել պատկերը – [xr-vm_node0_RP0_CPU0:~]$docker load -i /tmp/պատկեր_անուն.tar

• Ստուգեք պատկերը երթուղիչի վրա –

xr-vm_node0_RP0_CPU0:~]$docker պատկերներ ls

• Ստեղծեք կոնտեյներ պատկերի վրա –

[xr-vm_node0_RP0_CPU0:~]$docker-ի ստեղծում պատկեր_անուն
Ուղղորդիչ # կազմաձևում

Ուղղորդիչ(կոնֆիգ)#appmgr Ուղղորդիչ(config-appmgr)#հավելված

հավելվածի անունը

Ուղղորդիչ (config-application)#activate type docker source պատկեր_անուն docker-run-opts «–net=host» docker-run-cmd «iperf3 -s -d»

  • Սկսել կոնտեյները – [xr-vm_node0_RP0_CPU0:~]$docker start my_container_id Ուղղորդիչ (config-application) #commit
View ցանկը, վիճակագրությունը, տեղեկամատյանները և հավելվածի մանրամասները

կոնտեյներ

• Ցուցակել պատկերները

-[xr-vm_node0_RP0_CPU0:~]$docker պատկերներ ls

• Ցուցակել տարաներ –

[xr-vm_node0_RP0_CPU0:~]$docker ps

• Վիճակագրություն

-[xr-vm_node0_RP0_CPU0:~]$docker վիճակագրություն

Router# show appmgr source-table

Router# show appmgr հավելվածի անունը հավելվածի անունը տեղեկատվության ամփոփում

Router# show appmgr հավելվածի անունը հավելվածի անունը տեղեկատվության մանրամասն

Router# show appmgr հավելվածի անունը հավելվածի անունը վիճակագրություն

  • Տեղեկամատյաններ

-[xr-vm_node0_RP0_CPU0:~]$docker տեղեկամատյանները

Router# show appmgr application-աղյուսակ

Router# show appmgr հավելվածի անունը հավելվածի անունը գերաններ

Ֆունկցիոնալություն Ընդհանուր Docker հրամաններ Դիմում Կառավարիչ Հրամաններ
Գործարկել նորը • Կատարել – [xr-vm_node0_RP0_CPU0:~]$docker exec -it my_container_id Router#appmgr հավելվածի exec
հրաման

ներսում ա

անունը հավելվածի անունը docker-exec-cmd
վազում  
կոնտեյներ  
Դադարեցրեք հավելվածի բեռնարկղը • Դադարեցրեք կոնտեյները – [xr-vm_node0_RP0_CPU0:~]$docker stop my_container_id Router#appmgr հավելվածի կանգառի անունը հավելվածի անունը
Սպանեք կիրառման կոնտեյները • Սպանել կոնտեյներ – [xr-vm_node0_RP0_CPU0:~]$docker kill my_container_id Router#appmgr հավելվածի սպանության անունը հավելվածի անունը
Սկսեք հավելվածի բեռնարկղը • Սկսել կոնտեյները – [xr-vm_node0_RP0_CPU0:~]$docker start my_container_id Router#appmgr հավելվածի մեկնարկի անունը հավելվածի անունը
Ապաակտիվացնել հավելվածը • Դադարեցրեք կոնտեյները – [xr-vm_node0_RP0_CPU0:~]$docker stop my_container_id Ուղղորդիչ # կազմաձևում

Երթուղիչ (կոնֆիգ)# ոչ appmgr հավելված հավելվածի անունը

  • Հեռացնել կոնտեյները – [xr-vm_node0_RP0_CPU0:~]$docker rm my_container_id Ուղղորդիչ (կոնֆիգ) #commit
  • Հեռացնել պատկերը – [xr-vm_node0_RP0_CPU0:~]$docker rmi պատկեր_անուն  
Հեռացրեք հավելվածի պատկերը/RPM-ը • Տեղահանել պատկերը – [xr-vm_node0_RP0_CPU0:~]$docker հավելվածի տեղահանում պատկեր_անուն Router#appmgr փաթեթի ապատեղադրման փաթեթը

image_name-0.1.0-XR_7.3.1.x86_64

ՆշումՀավելվածի կառավարչի հրամանների օգտագործումը բացատրվում է «iPerf-ի հոսթինգ Docker Containers-ում ցանցի կատարողականությունը վերահսկելու համար՝ օգտագործելով Application Manager» բաժնում:

Docker-ի կազմաձևումը բազմաթիվ VRF-ներով

Այս բաժինը նկարագրում է, թե ինչպես կարող եք կարգավորել Docker-ը մի քանի VRF-ներով Cisco IOS XR-ում: Մի քանի VRF-ների կազմաձևման մասին տեղեկությունների համար տե՛ս «Բազմաթիվ VRF-ների կազմաձևում հավելվածների հոսթինգի համար» թեման:

Կոնֆիգուրացիա
Օգտագործեք հետևյալ քայլերը՝ XR-ի վրա բազմաբնույթ VRF Docker ստեղծելու և տեղակայելու համար:

  1. Ստեղծեք multi-VRF Docker NET_ADMIN և SYS_ADMIN արտոնություններով:
    Հետևյալ նախկինումample, գործարկվել է Docker կոնտեյներ, որը պարունակում է երեք VRF (դեղին, կապույտ և կանաչ): Նախկինample-ն ենթադրում է, որ նախորդ «multivrfimage» դոկերի պատկերը տեղադրվել է appmgr փաթեթի տեղադրման հրամանի միջոցով:CISCO IOS XR հոստինգի հավելվածներ 4
    Նշում. 
    • /var/run/netns-ի ամբողջ բովանդակությունը հոսթից Docker-ի տեղադրումը խորհուրդ չի տրվում, քանի որ այն տեղադրում է XR-ին համապատասխանող ցանցերի բովանդակությունը և համակարգի ադմինիստրատորի հարթությունը Docker-ում:
    • Դուք չպետք է ջնջեք VRF-ը Cisco IOS XR-ից, երբ այն օգտագործվում է Docker-ում: Եթե ​​մեկ կամ մի քանի VRF-ներ ջնջվեն XR-ից, բազմաֆունկցիոնալ VRF Docker-ը չի կարող գործարկվել
  2. Ստուգեք, արդյոք Multi-VRF Docker-ը հաջողությամբ բեռնվել է:CISCO IOS XR հոստինգի հավելվածներ 5
  3. Միացեք multi-VRF Docker կոնտեյներին՝ կատարելով հետևյալ հրամանը.
    Router# appmgr հավելվածի գործադիր անունը multivrfcontainer1 docker-exec-cmd /bin/bash/
    Լռելյայնորեն, Docker-ը բեռնված է գլոբալ-vrf անվանատարածքում Cisco IOS XR-ում:
  4. Ստուգեք, արդյոք մի քանի VRF-ները հասանելի են Docker-ից:CISCO IOS XR հոստինգի հավելվածներ 7
    CISCO IOS XR հոստինգի հավելվածներ 8

Դուք հաջողությամբ գործարկել եք Multi-VRF Docker-ը Cisco IOS XR-ում:

Փաստաթղթեր / ռեսուրսներ

CISCO IOS XR հոստինգի հավելվածներ [pdf] Օգտագործողի ձեռնարկ
IOS XR հոստինգ հավելվածներ, IOS XR, հոստինգ հավելվածներ, հավելվածներ

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *