cisco logotip

CISCO IOS XR Hosting aplikacije

CISCO IOS XR Hosting aplikacije

Hosting aplikacija na iOS XR
Ovaj odjeljak objašnjava različite vrste hostinga aplikacija i pokazuje kako se jednostavna aplikacija može hostirati nativno ili u spremniku treće strane na iOS XR.

  • Hosting aplikacija pomoću Docker spremnika.
  • Hosting aplikacija spremnika temeljenog na Dockeru.

Hosting aplikacija pomoću Docker spremnika
Hosting aplikacija na iOS XR podržava docker spremnike. Možete izraditi vlastiti spremnik na iOS XR pomoću dockera i hostirati aplikacije unutar spremnika. Aplikacije se mogu razviti pomoću bilo koje distribucije Linuxa. Ovo je vrlo prikladno za aplikacije koje koriste sistemske biblioteke koje se razlikuju od onih koje pruža IOS XR root file sustav. Cisco NCS 540 podržava samo hosting aplikacija koje se temelje na dockeru.

Hosting aplikacija spremnika temeljenog na Dockeru
Ovaj odjeljak predstavlja koncept hostinga aplikacije spremnika i opisuje njegov tijek rada. Hosting aplikacija spremnika omogućuje da aplikacije budu smještene u vlastitom okruženju i procesnom prostoru (namespace) unutar Linux spremnika na Cisco IOS XR. Programer aplikacije ima potpunu kontrolu nad okruženjem za razvoj aplikacije i može koristiti distribuciju Linuxa po izboru. Aplikacije su izolirane od procesa kontrolne ravnine IOS XR; ali se mogu spojiti na mreže izvan XR-a putem XR GigE sučelja. Aplikacije također mogu lako pristupiti lokalnim file sustava na IOS XR.

Korištenje Dockera za hosting aplikacija na Cisco IOS XR
Docker je spremnik koji se koristi za hosting aplikacija na Cisco IOS XR. Docker pruža izolaciju za aplikacijske procese od temeljnih host procesa na XR-u korištenjem mrežnih imenskih prostora Linuxa.

Potreba za Dockerom na Cisco IOS XR
Docker postaje industrijski preferirani model pakiranja za aplikacije u virtualizacijskom prostoru. Docker pruža temelj za automatizaciju upravljanja životnim ciklusom aplikacije. Docker slijedi slojeviti pristup koji se sastoji od osnovne slike na dnu koja podržava slojeve aplikacija na vrhu. Osnovne slike dostupne su javno u repozitoriju, ovisno o vrsti aplikacije koju želite instalirati na vrhu. Možete manipulirati docker slikama pomoću docker indeksa i registra. Docker pruža tijek rada sličan git-u za razvoj spremničkih aplikacija i podržava mehanizam "tankog ažuriranja", gdje se ažurira samo razlika u izvornom kodu, što dovodi do bržih nadogradnji. Docker također nudi mehanizam "tankog preuzimanja", gdje se novije aplikacije preuzimaju brže zbog dijeljenja zajedničkih osnovnih docker slojeva između više docker spremnika. Dijeljenje docker slojeva između više docker spremnika dovodi do manjeg otiska za docker spremnike na XR-u.

Docker arhitektura na Cisco IOS XR
Sljedeća slika ilustrira docker arhitekturu na iOS XR.

CISCO IOS XR hosting aplikacije 1

Binarne aplikacije za aplikacije koje će biti hostirane instalirane su unutar docker spremnika.

Hosting aplikacija u Docker spremnicima
Sljedeća slika ilustrira tijek rada za hosting aplikacija u Docker spremnicima na iOS XR.
CISCO IOS XR hosting aplikacije 2

  1. Pristanište file u izvornom repozitoriju koristi se za izgradnju binarne aplikacije file na vašem (docker engine build) glavnom stroju.
  2. Binarna aplikacija file gura se u registar docker slika.
  3. Binarna aplikacija file povlači se iz registra docker slika i kopira u docker spremnik na XR (docker engine target host).
  4. Aplikacija je izgrađena i smještena u docker spremniku na XR-u.

Ažuriranje aplikacija u Docker spremnicima
Sljedeća slika ilustrira tijek rada za ažuriranje aplikacija smještenih u docker spremnicima.CISCO IOS XR hosting aplikacije 3

  1. Ažuriranje aplikacije generira se kao osnovno ažuriranje libsa file (delta ažuriranje file) i gurnuti u registar docker slika.
  2. Delta ažuriranje file (koji sadrži samo razliku u kodu aplikacije) izvlači se iz registra docker slika i kopira u docker spremnike na XR (docker engine target host).
  3. Docker spremnici ponovno se pokreću s delta ažuriranjem file.

Hosting TPA-a pomoću upravitelja aplikacija

Tablica 1: Tablica povijesti značajki

Značajka Ime Informacije o izdanju Značajka Opis
Usluga Docker Daemon na zahtjev Izdanje 7.5.1 Od ovog izdanja nadalje,

Usluga Docker daemon pokreće se na usmjerivaču samo ako konfigurirate hosting aplikaciju treće strane pomoću appmgr naredba. Takva usluga na zahtjev optimizira resurse operativnog sustava kao što su CPU, memorija i napajanje.

U ranijim izdanjima, Docker daemon usluga se automatski pokretala tijekom pokretanja usmjerivača.

U prethodnim izdanjima, aplikacije su hostirale i kontrolirale Docker naredbe. Ove Docker naredbe izvršene su u bash ljusci jezgre koja je također bila domaćin softvera Cisco IOS XR. S uvođenjem Application Managera, sada je moguće upravljati hostingom aplikacija trećih strana i njihovim funkcioniranjem putem Cisco IOS XR CLI-ja. Uz ovu značajku, sve aktivirane aplikacije treće strane mogu se automatski ponovno pokrenuti nakon ponovnog učitavanja usmjerivača ili RP prebacivanja. Ovo automatsko ponovno pokretanje aplikacija osigurava besprijekoran rad hostiranih aplikacija.

Podržane naredbe u Upravitelju aplikacija
Za svaku izvršenu naredbu ili konfiguraciju upravitelja aplikacija, upravitelj aplikacija izvodi traženu radnju povezivanjem s Docker demonom putem Docker utičnice. Sljedeća tablica navodi funkcionalnosti Docker spremnika, generičke Docker naredbe koje su se koristile u prethodnim izdanjima i njegove ekvivalentne naredbe upravitelja aplikacija koje se sada mogu koristiti:

Funkcionalnost Generičke Docker naredbe Primjena Menadžer Naredbe
Instalirajte aplikaciju RPM NA Router#appmgr paket instalacija rpm

ime_slike-0.1.0-XR_7.3.1.x86_64.rpm

Konfigurirajte i aktivirajte aplikaciju • Učitaj sliku – [xr-vm_node0_RP0_CPU0:~]$docker load -i /tmp/naziv_slike.katran

• Provjerite sliku na routeru –

xr-vm_node0_RP0_CPU0:~]$docker slike ls

• Stvorite spremnik preko slike –

[xr-vm_node0_RP0_CPU0:~]$docker stvoriti naziv_slike
Router#config

Router(config)#appmgr Router(config-appmgr)#aplikacija

naziv_aplikacije

Router(config-aplikacija)#activate type docker izvor naziv_slike docker-run-opts “–net=host” docker-run-cmd “iperf3 -s -d”

  • Početni spremnik – [xr-vm_node0_RP0_CPU0:~]$docker start moj_id_spremnika Usmjerivač(config-aplikacija)#commit
View popis, statistiku, zapisnike i detalje aplikacije

spremnik

• Popis slika

-[xr-vm_node0_RP0_CPU0:~]$docker slike ls

• Popis spremnika –

[xr-vm_node0_RP0_CPU0:~]$docker ps

• Statistika

-[xr-vm_node0_RP0_CPU0:~]$docker statistika

Router#show appmgr izvorna tablica

Router#show appmgr naziv aplikacije naziv_aplikacije info sažetak

Router#show appmgr naziv aplikacije naziv_aplikacije info detalj

Router#show appmgr naziv aplikacije naziv_aplikacije statistika

  • Dnevnici

-[xr-vm_node0_RP0_CPU0:~]$docker zapisnici

Router#show appmgr aplikacijska tablica

Router#show appmgr naziv aplikacije naziv_aplikacije cjepanice

Funkcionalnost Generičke Docker naredbe Primjena Menadžer Naredbe
Pokrenite novi • Izvrši – [xr-vm_node0_RP0_CPU0:~]$docker exec -it moj_id_spremnika Router#appmgr izv. aplikacije
naredba

unutar a

ime naziv_aplikacije docker-exec-cmd
trčanje  
spremnik  
Zaustavite spremnik aplikacije • Zaustavi spremnik – [xr-vm_node0_RP0_CPU0:~]$docker stop moj_id_spremnika Naziv zaustavljanja aplikacije Router#appmgr naziv_aplikacije
Zatvorite spremnik aplikacije • Kill spremnik – [xr-vm_node0_RP0_CPU0:~]$docker kill moj_id_spremnika Router#appmgr ime prekida aplikacije naziv_aplikacije
Pokrenite spremnik aplikacije • Početni spremnik – [xr-vm_node0_RP0_CPU0:~]$docker start moj_id_spremnika Router#appmgr početni naziv aplikacije naziv_aplikacije
Deaktivirajte aplikaciju • Zaustavi spremnik – [xr-vm_node0_RP0_CPU0:~]$docker stop moj_id_spremnika Router#konfiguracija

Router(config)#no appmgr aplikacija naziv_aplikacije

  • Uklonite spremnik – [xr-vm_node0_RP0_CPU0:~]$docker rm moj_id_spremnika Router(config)#commit
  • Ukloni sliku – [xr-vm_node0_RP0_CPU0:~]$docker rmi naziv_slike  
Deinstalirajte sliku/RPM aplikacije • Deinstalacijska slika – [xr-vm_node0_RP0_CPU0:~]$docker deinstalacija aplikacije naziv_slike Paket za deinstalaciju paketa Router#appmgr

naziv_slike-0.1.0-XR_7.3.1.x86_64

Bilješka: Upotreba naredbi upravitelja aplikacija objašnjena je u odjeljku "Hosting iPerf-a u Docker kontejnerima za praćenje performansi mreže pomoću upravitelja aplikacija".

Konfiguriranje Dockera s više VRF-ova

Ovaj odjeljak opisuje kako možete konfigurirati Docker s više VRF-ova na Cisco IOS XR. Za informacije o konfiguriranju višestrukih VRF-ova pogledajte temu Konfiguriranje višestrukih VRF-ova za hosting aplikacija.

Konfiguracija
Upotrijebite sljedeće korake za izradu i implementaciju multi-VRF Dockera na XR.

  1. Stvorite multi-VRF Docker s NET_ADMIN i SYS_ADMIN privilegijama.
    U sljedećem prample, pokreće se Docker spremnik koji sadrži tri VRF-a (žuti, plavi i zeleni). Bivšiample pretpostavlja da je prethodna docker slika "multivrfimage" instalirana pomoću naredbe za instalaciju paketa appmgr.CISCO IOS XR hosting aplikacije 4
    Bilješka: 
    • Montiranje cijelog sadržaja /var/run/netns s glavnog računala na Docker nije preporučljivo jer montira sadržaj netns-a koji odgovara XR-u i razini administratora sustava u Docker.
    • Ne biste trebali brisati VRF iz Cisco IOS XR kada se koristi u Dockeru. Ako se jedan ili više VRF-ova izbriše iz XR-a, multi-VRF Docker se ne može pokrenuti
  2. Provjerite je li multi-VRF Docker uspješno učitan.CISCO IOS XR hosting aplikacije 5
  3. Povežite se s multi-VRF Docker spremnikom izvršavanjem sljedeće naredbe.
    Router# appmgr naziv aplikacije exec multivrfcontainer1 docker-exec-cmd /bin/bash/
    Prema zadanim postavkama, Docker se učitava u prostoru imena global-vrf na Cisco IOS XR.
  4. Provjerite je li višestrukim VRF-ovima moguće pristupiti iz Dockera.CISCO IOS XR hosting aplikacije 7
    CISCO IOS XR hosting aplikacije 8

Uspješno ste pokrenuli multi-VRF Docker na Cisco IOS XR.

Dokumenti / Resursi

CISCO IOS XR Hosting aplikacije [pdf] Korisnički priručnik
IOS XR aplikacije za hosting, IOS XR, aplikacije za hosting, aplikacije

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *