CISCO IOS XR хостинг апликации
Апликации за хостирање на IOS XR
Овој дел ги објаснува различните видови на хостирање на апликации и покажува како едноставна апликација може да се хостира природно или во контејнер од трета страна на IOS XR.
- Хостирање на апликации со користење на контејнери на Docker.
- Хостирање на апликации за контејнери базирани на Docker.
Хостирање на апликации со користење на контејнери на Docker
Хостирањето на апликации на IOS XR поддржува докер контејнери. Можете да креирате ваш сопствен контејнер на IOS XR користејќи докер и апликации за домаќини во контејнерот. Апликациите може да се развиваат со користење на која било дистрибуција на Linux. Ова е добро прилагодено за апликации кои користат системски библиотеки кои се различни од оние обезбедени од коренот на IOS XR file систем. Cisco NCS 540 поддржува само хостирање апликации базирани на докер.
Хостирање на апликации за контејнери базирани на Docker
Овој дел го воведува концептот на хостирање на апликации за контејнери и го опишува неговиот работен тек. Хостирањето на контејнерски апликации овозможува апликациите да бидат хостирани во нивната сопствена околина и простор за процеси (именски простор) во контејнер за Linux на Cisco IOS XR. Развивачот на апликации има целосна контрола врз околината за развој на апликации и може да користи изборна дистрибуција на 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 обезбедува работен тек сличен на git за развој на апликации за контејнери и го поддржува механизмот „тенко ажурирање“, каде што се ажурира само разликата во изворниот код, што доведува до побрзи надградби. Докер, исто така, обезбедува механизам за „тенко преземање“, каде што поновите апликации се преземаат побрзо поради споделувањето на заедничките основни докерски слоеви помеѓу повеќе контејнери за докер. Споделувањето на докерските слоеви помеѓу повеќекратни контејнери за докер доведува до помало отпечаток за докерските контејнери на XR.
Docker Architecture на Cisco IOS XR
Следната слика ја илустрира архитектурата на докерот на IOS XR.
Апликациските бинарни програми за апликациите што треба да се хостираат се инсталирани во докер-контејнерот.
Апликации за хостирање во контејнери на Docker
Следната слика го илустрира работниот тек за хостирање апликации во Docker контејнерите на IOS XR.
- Докерот file во изворното складиште се користи за да се изгради апликацијата бинарно file на вашиот (докер мотор) домаќин машина.
- Бинарната апликација file се турка во регистарот на слики на докер.
- Бинарната апликација file се вади од регистарот на слики на докер и се копира во докер-контејнерот на XR (докер-мотор цел домаќин).
- Апликацијата е изградена и хостирана во докер контејнерот на XR.
Ажурирање на апликации во Docker контејнерите
Следната слика го илустрира работниот тек за ажурирање на апликациите хостирани во контејнерите на докер.
- Ажурирањето на апликацијата се генерира како основно ажурирање на libs file (Делта ажурирање file) и се турка во регистарот на слики на докер.
- Ажурирање на делта file (што ја содржи само разликата во кодот на апликацијата) се вади од регистарот на слики на докерот и се копира во контејнерите на докерот на XR (домаќин на целта на моторот на докер).
- Контејнерите на докерот се рестартираат со ажурирањето на делта file.
Хостирање на TPA користејќи менаџер на апликации
Табела 1: Табела со историја на карактеристики
Карактеристика Име | Информации за издавање | Карактеристика Опис |
Услуга на докер демон на барање | Објавување 7.5.1 | Од ова издание наваму, на
Услугата Docker daemon започнува на рутер само ако конфигурирате апликација за хостирање од трета страна користејќи ја appmgr команда. Таквата услуга на барање ги оптимизира ресурсите на оперативниот систем како што се процесорот, меморијата и напојувањето. Во претходните изданија, услугата Docker daemon автоматски стартуваше за време на подигањето на рутерот. |
Во претходните изданија, апликациите беа хостирани и контролирани од командите на Docker. Овие наредби на Docker беа извршени во баш школката на кернелот кој исто така беше домаќин на софтверот Cisco IOS XR. Со воведувањето на Application Manager, сега е можно да се управува со хостирање на апликации од трети страни и нивното функционирање преку Cisco IOS XR CLI. Со оваа функција, сите активирани апликации од трета страна може автоматски да се рестартираат по повторно вчитување на рутерот или префрлување на RP. Ова автоматско рестартирање на апликациите обезбедува непречено функционирање на хостираните апликации.
Поддржани команди на менаџерот на апликации
За секоја извршена команда или конфигурација на менаџерот на апликации, Управникот со апликации го извршува бараното дејство со поврзување со демонот Docker преку приклучокот Docker. Следната табела ги наведува функционалностите на Docker контејнер, генеричките Docker команди што се користеа во претходните изданија и неговите еквивалентни команди за менаџер на апликации што сега можат да се користат:
Функционалност | Генерички команди на Docker | Апликација Менаџер Наредби |
Инсталирајте ја апликацијата RPM | NA | Router#appmgr пакет инсталирање вртежи во минута
image_name-0.1.0-XR_7.3.1.x86_64.rpm |
Конфигурирајте ја и активирајте ја апликацијата | • Вчитај слика – [xr-vm_node0_RP0_CPU0:~]$docker load -i /tmp/слика_име.катран
• Потврдете ја сликата на рутерот – xr-vm_node0_RP0_CPU0:~]$docker слики ls • Направете контејнер над сликата – [xr-vm_node0_RP0_CPU0:~]Креирај $docker слика_име |
Рутер # конфигурација
Рутер(конфиг)#appmgr Рутер(config-appmgr)#апликација име_апликација Рутер (конфигурација-апликација)#активирај тип докер извор слика_име docker-run-opts „–net=host“ docker-run-cmd „iperf3 -s -d“ |
• Стартувајте го контејнер – [xr-vm_node0_RP0_CPU0:~]$docker start my_container_id | Рутер (конфигурација-апликација)#commit | |
View списокот, статистиката, дневниците и деталите за апликацијата
контејнер |
• Наведете слики
-[xr-vm_node0_RP0_CPU0:~]$docker слики ls • Наведете контејнери – [xr-vm_node0_RP0_CPU0:~]$docker ps• Статистика -[xr-vm_node0_RP0_CPU0:~]$docker статистика |
Рутер# прикажи извор-табела на appmgr
Рутер# прикажи име на апликацијата appmgr име_апликација резиме на информации Рутер# прикажи име на апликацијата appmgr име_апликација инфо детали Рутер# прикажи име на апликацијата appmgr име_апликација статистика |
• Дневници
-[xr-vm_node0_RP0_CPU0:~]$docker дневници |
Рутер# прикажи табела за апликација appmgr
Рутер# прикажи име на апликацијата appmgr име_апликација трупци |
Функционалност | Генерички команди на Docker | Апликација Менаџер Наредби |
Стартувај нов | • Изврши – [xr-vm_node0_RP0_CPU0:~]$docker exec -it my_container_id | Exec на апликацијата Router#appmgr |
команда
внатре а |
име име_апликација docker-exec-cmd | |
трчање | ||
контејнер | ||
Запрете го садот за апликација | • Стоп контејнер – [xr-vm_node0_RP0_CPU0:~]$docker стоп my_container_id | Име на застанување на апликацијата Router#appmgr име_апликација |
Убијте го садот за апликација | • Убиен контејнер – [xr-vm_node0_RP0_CPU0:~]$docker kill my_container_id | Рутер#appmgr име за убиство на апликацијата име_апликација |
Стартувајте го контејнерот за апликација | • Стартувајте го контејнер – [xr-vm_node0_RP0_CPU0:~]$docker start my_container_id | Име за почеток на апликацијата Router#appmgr име_апликација |
Деактивирајте ја апликацијата | • Стоп контејнер – [xr-vm_node0_RP0_CPU0:~]$docker стоп 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:~]Докер деинсталирање на апликацијата слика_име | Пакетот за деинсталирање на пакетот Router#appmgr
image_name-0.1.0-XR_7.3.1.x86_64 |
Забелешка: Употребата на командите на менаџерот на апликации е објаснета во делот „Хостирање на iPerf во контејнерите на Docker за следење на перформансите на мрежата користејќи го Управувачот со апликации“.
Конфигурирање на Docker со повеќе VRFs
Овој дел опишува како можете да конфигурирате Docker со повеќе VRF на Cisco IOS XR. За информации за конфигурирање на повеќе VRFs, видете ја темата Конфигурирање на повеќе VRF за хостирање на апликации.
Конфигурација
Користете ги следните чекори за да креирате и распоредите мулти-VRF Docker на XR.
- Создадете мулти-VRF Docker со NET_ADMIN и SYS_ADMIN привилегии.
Во следните прampле, лансиран е контејнер Docker кој содржи три VRF (жолта, сина и зелена). ПоранешниотampЛе претпоставува дека претходната слика на докерот „multivrfimage“ била инсталирана со помош на командата за инсталирање на пакетот appmgr.
Забелешка:- Не се препорачува монтирање на целата содржина на /var/run/netns од домаќин на Docker, бидејќи ја монтира содржината на мрежите што одговараат на XR и административната рамнина на системот во Docker.
- Не треба да бришете VRF од Cisco IOS XR кога се користи во Docker. Ако еден или повеќе VRF се избришат од XR, мулти-VRF Docker не може да се стартува
- Потврдете дали мулти-VRF Docker е успешно вчитан.
- Поврзете се со мулти-VRF Docker контејнерот со извршување на следнава команда.
Рутер# appmgr извршно име на апликација multivrfcontainer1 docker-exec-cmd /bin/bash/
Стандардно, Docker е вчитан во глобалниот именски простор на Vrf на Cisco IOS XR. - Проверете дали повеќекратните VRF се достапни од Docker.
Успешно лансиравте мулти-VRF Docker на Cisco IOS XR.
Документи / ресурси
![]() |
CISCO IOS XR хостинг апликации [pdf] Упатство за користење Апликации за хостирање на IOS XR, IOS XR, апликации за хостирање, апликации |