CISCO IOS XR hostimisrakendused
Rakenduste hostimine IOS XR-is
Selles jaotises selgitatakse erinevaid rakenduste hostimise tüüpe ja näidatakse, kuidas lihtsat rakendust saab hostida natiivselt või kolmanda osapoole konteineris IOS XR-is.
- Rakenduste hostimine Dockeri konteinerite abil.
- Dockeripõhise konteinerirakenduse hostimine.
Rakenduste hostimine Dockeri konteinerite abil
Rakenduste hostimine IOS XR-is toetab dokkimiskonteinereid. Saate luua IOS XR-is oma konteineri, kasutades dokkerit, ja hostida konteineris rakendusi. Rakendusi saab arendada mis tahes Linuxi distributsiooni abil. See sobib hästi rakendustele, mis kasutavad süsteemiteeke, mis erinevad IOS XR-i juurtest file süsteem. Cisco NCS 540 toetab ainult dokkimispõhist rakenduste hostimist.
Dockeripõhise konteinerirakenduse hostimine
Selles jaotises tutvustatakse konteinerrakenduste hostimise kontseptsiooni ja kirjeldatakse selle töövoogu. Konteinerrakenduste hostimine võimaldab rakendusi hostida nende enda keskkonnas ja protsessiruumis (nimeruumis) Cisco IOS XR-i Linuxi konteineris. Rakenduse arendajal on täielik kontroll rakenduste arenduskeskkonna üle ja ta saab kasutada valitud Linuxi distributsiooni. Rakendused on isoleeritud IOS XR juhttasandi protsessidest; Siiski saavad nad XR GigE liideste kaudu ühenduda võrkudega väljaspool XR-i. Rakendused pääsevad hõlpsalt juurde ka kohalikule file süsteemid IOS XR-is.
Dockeri kasutamine rakenduste majutamiseks Cisco IOS XR-is
Docker on konteiner, mida kasutatakse rakenduste majutamiseks Cisco IOS XR-is. Docker eraldab rakendusprotsessid XR-i aluseks olevatest hostprotsessidest, kasutades Linuxi võrgu nimeruume.
Dockeri vajadus Cisco IOS XR-is
Dockerist on saamas tööstusharu eelistatud pakendamise mudel virtualiseerimisruumi rakenduste jaoks. Docker loob aluse rakenduse elutsükli haldamise automatiseerimiseks. Docker järgib kihilist lähenemisviisi, mis koosneb põhipildist allosas, mis toetab ülaltoodud rakenduste kihte. Põhipildid on avalikult saadaval hoidlas, olenevalt rakenduse tüübist, mida soovite peale installida. Dockeri kujutistega saate manipuleerida dockeri indeksi ja registri abil. Docker pakub konteinerrakenduste arendamiseks git-laadset töövoogu ja toetab õhukese värskenduse mehhanismi, kus värskendatakse ainult lähtekoodi erinevust, mis viib kiiremate versiooniuuendusteni. Docker pakub ka "õhukese allalaadimise" mehhanismi, kus uuemad rakendused laaditakse alla kiiremini, kuna ühised põhidokkerikihid jagatakse mitme dokkimiskonteineri vahel. Dokkimiskihtide jagamine mitme dokkimiskonteineriga vähendab XR-i dokkimiskonteinerite jalajälge.
Dockeri arhitektuur Cisco IOS XR-is
Järgmine joonis illustreerib doki arhitektuuri IOS XR-is.
Hostitavate rakenduste binaarfailid installitakse dokkimiskonteinerisse.
Rakenduste hostimine Dockeri konteinerites
Järgmine joonis illustreerib IOS XR-i Dockeri konteinerites rakenduste hostimise töövoogu.
- Dokk file lähtehoidlas kasutatakse rakenduse binaarfaili koostamiseks file teie (dokimootori ehitus) hostmasinas.
- Rakenduse binaarfail file surutakse dockeri kujutiste registrisse.
- Rakenduse binaarfail file tõmmatakse dockeri kujutiste registrist ja kopeeritakse XR-i (dokimootori sihthost) dockeri konteinerisse.
- Rakendus on ehitatud ja majutatud XR-i dokkimiskonteineris.
Dockeri konteinerite rakenduste värskendamine
Järgmine joonis illustreerib dokkimiskonteinerites hostitud rakenduste värskendamise töövoogu.
- Rakenduse värskendus luuakse libsi baasvärskendusena file (delta värskendus file) ja lükatakse dockeri kujutiste registrisse.
- Delta värskendus file (sisaldab ainult erinevust rakenduse koodis) tõmmatakse dockeri kujutiste registrist ja kopeeritakse XR-i (dockeri mootori sihthosti) dockeri konteineritesse.
- Dokkeri konteinerid taaskäivitatakse deltavärskendusega file.
TPA hostimine rakendushalduri abil
Tabel 1: funktsioonide ajaloo tabel
Funktsioon Nimi | Väljalaske teave | Funktsioon Kirjeldus |
Nõudmisel Dockeri deemoniteenus | Väljalase 7.5.1 | Alates sellest väljaandest on
Dockeri deemoniteenus käivitub ruuteris ainult siis, kui konfigureerite kolmanda osapoole hostimisrakenduse appmgr käsk. Selline tellitav teenus optimeerib operatsioonisüsteemi ressursse, nagu protsessor, mälu ja võimsus. Varasemates versioonides käivitus Dockeri deemoniteenus ruuteri alglaadimise ajal automaatselt. |
Varasemates versioonides hostisid ja juhtisid rakendusi Dockeri käsud. Need Dockeri käsud käivitati kerneli bash-shellis, mis hostis ka Cisco IOS XR tarkvara. Rakenduste halduri kasutuselevõtuga on nüüd võimalik hallata kolmanda osapoole rakenduste hostimist ja nende toimimist Cisco IOS XR CLI-de kaudu. Selle funktsiooni abil saavad kõik aktiveeritud kolmanda osapoole rakendused pärast ruuteri uuesti laadimist või RP ümberlülitamist automaatselt taaskäivitada. See rakenduste automaatne taaskäivitamine tagab hostitud rakenduste sujuva toimimise.
Toetatud käsud rakenduste halduris
Iga käivitatud rakendusehalduri käsu või konfiguratsiooni puhul teostab rakenduste haldur nõutud toimingu, liidestades Dockeri pesa Dockeri deemoniga. Järgmises tabelis on loetletud Dockeri konteineri funktsioonid, üldised Dockeri käsud, mida kasutati eelmistes versioonides, ja sellega samaväärsed rakendusehalduri käsud, mida nüüd saab kasutada.
Funktsionaalsus | Üldised Dockeri käsud | Rakendus Juht Käsud |
Installige rakenduse RPM | NA | Router#appmgr paketi installimise rpm
pildi_nimi-0.1.0-XR_7.3.1.x86_64.rpm |
Seadistage ja aktiveerige rakendus | • Laadi pilt – [xr-vm_node0_RP0_CPU0:~]$docker load -i /tmp/pildi_nimi.tar
• Kontrollige ruuteril olevat pilti – xr-vm_node0_RP0_CPU0:~]$dockeri pildid ls • Loo pildi kohale konteiner – [xr-vm_node0_RP0_CPU0:~]$dockeri loomine pildi_nimi |
Ruuter #config
Ruuter(config)#appmgr Ruuter(config-appmgr)#rakendus rakenduse_nimi Ruuter(config-application)#activate tüüpi dokkimisallikas pildi_nimi docker-run-opts “–net=host” docker-run-cmd “iperf3 -s -d” |
• Käivita konteiner – [xr-vm_node0_RP0_CPU0:~]$dockeri algus minu_konteineri_id | Ruuter(config-application)#commit | |
View rakenduse loend, statistika, logid ja üksikasjad
konteiner |
• Piltide loend
-[xr-vm_node0_RP0_CPU0:~]$docker images ls • Konteinerite loend – [xr-vm_node0_RP0_CPU0:~]$docker ps• Statistika -[xr-vm_node0_RP0_CPU0:~]$dockeri statistika |
Ruuter#show appmgr source-table
Ruuter#show appmgr rakenduse nimi rakenduse_nimi info kokkuvõte Ruuter#show appmgr rakenduse nimi rakenduse_nimi info üksikasjad Ruuter#show appmgr rakenduse nimi rakenduse_nimi statistika |
• Palgid
-[xr-vm_node0_RP0_CPU0:~]$dockeri logid |
Ruuter#show appmgr application-table
Ruuter#show appmgr rakenduse nimi rakenduse_nimi palgid |
Funktsionaalsus | Üldised Dockeri käsud | Rakendus Juht Käsud |
Käivitage uus | • Käivita – [xr-vm_node0_RP0_CPU0:~]$docker exec -it minu_konteineri_id | Ruuter#appmgr rakenduse täitja |
käsk
sees a |
nimi rakenduse_nimi docker-exec-cmd | |
jooksmine | ||
konteiner | ||
Peatage rakenduse konteiner | • Peata konteiner – [xr-vm_node0_RP0_CPU0:~]$dockeri peatus minu_konteineri_id | Ruuter#appmgr rakenduse peatuse nimi rakenduse_nimi |
Tapa rakenduse konteiner | • Kill konteiner – [xr-vm_node0_RP0_CPU0:~]$docker kill minu_konteineri_id | Ruuter#appmgr rakenduse tapmisnimi rakenduse_nimi |
Käivitage rakenduse konteiner | • Käivita konteiner – [xr-vm_node0_RP0_CPU0:~]$dockeri algus minu_konteineri_id | Ruuter#appmgr rakenduse algusnimi rakenduse_nimi |
Deaktiveerige rakendus | • Peata konteiner – [xr-vm_node0_RP0_CPU0:~]$dockeri peatus minu_konteineri_id | Ruuter #configure
Ruuter (config) # appmgr rakendus puudub rakenduse_nimi |
• Eemalda konteiner – [xr-vm_node0_RP0_CPU0:~]$docker rm minu_konteineri_id | Ruuter(config)#commit | |
• Eemalda pilt – [xr-vm_node0_RP0_CPU0:~]$docker rmi pildi_nimi | ||
Desinstallige rakenduse pilt/RPM | • Desinstalli pilt – [xr-vm_node0_RP0_CPU0:~]$dockeri rakenduse desinstallimine pildi_nimi | Router#appmgr paketi desinstalli pakett
pildi_nimi-0.1.0-XR_7.3.1.x86_64 |
Märkus: Rakendusehalduri käskude kasutamist selgitatakse jaotises „iPerfi hostimine Dockeri konteinerites võrgu jõudluse jälgimiseks rakendusehalduri abil”.
Dockeri konfigureerimine mitme VRF-iga
Selles jaotises kirjeldatakse, kuidas saate konfigureerida Dockerit mitme VRF-iga Cisco IOS XR-is. Lisateavet mitme VRF-i konfigureerimise kohta leiate teemast Mitme VRF-i konfigureerimine rakenduse hostimise jaoks.
Seadistamine
Mitme VRF-i dokkeri loomiseks ja juurutamiseks XR-is järgige järgmisi samme.
- Looge mitme VRF-i dokkija NET_ADMIN ja SYS_ADMIN õigustega.
Järgmises eksampaastal käivitatakse Dockeri konteiner, mis sisaldab kolme VRF-i (kollane, sinine ja roheline). Endineample eeldab, et eelmine "multivrfimage" dokkimispilt installiti käsuga appmgr paketi installimine.
Märkus.- Kogu faili /var/run/netns sisu hostist Dockeri ühendamine ei ole soovitatav, kuna see ühendab Dockerisse XR-ile ja süsteemi administraatoritasandile vastavate netn-ide sisu.
- Ärge kustutage VRF-i Cisco IOS XR-ist, kui seda kasutatakse Dockeris. Kui XR-ist kustutatakse üks või mitu VRF-i, ei saa mitme VRF-i dokkerit käivitada
- Kontrollige, kas mitme VRF-i dokkija on edukalt laaditud.
- Ühendage mitme VRF Dockeri konteineriga, käivitades järgmise käsu.
Ruuteri nr appmgr rakenduse exec nimi multivrfcontainer1 docker-exec-cmd /bin/bash/
Vaikimisi laaditakse Docker Cisco IOS XR-i globaalsesse vrf-nimeruumi. - Kontrollige, kas Dockerist pääseb juurde mitmele VRF-ile.
Olete Cisco IOS XR-is edukalt käivitanud mitme VRF-dokeri.
Dokumendid / Ressursid
![]() |
CISCO IOS XR hostimisrakendused [pdfKasutusjuhend IOS XR hostimisrakendused, IOS XR, hostimisrakendused, rakendused |