logo Cisco

Aplikacje hostingowe CISCO IOS XR

Aplikacje hostingowe CISCO IOS XR

Aplikacje hostingowe na iOS XR
W tej sekcji wyjaśniono różne rodzaje hostingu aplikacji i pokazano, w jaki sposób prosta aplikacja może być hostowana natywnie lub w kontenerze innej firmy w systemie IOS XR.

  • Hosting aplikacji przy użyciu kontenerów Docker.
  • Hosting aplikacji kontenerowych oparty na platformie Docker.

Hosting aplikacji przy użyciu kontenerów Docker
Hosting aplikacji w systemie IOS XR obsługuje kontenery dokowane. Możesz utworzyć własny kontener w systemie IOS XR za pomocą okna dokowanego i hostować aplikacje w kontenerze. Aplikacje można tworzyć przy użyciu dowolnej dystrybucji Linuksa. Jest to dobrze dostosowane do aplikacji korzystających z bibliotek systemowych innych niż te dostarczane przez katalog główny IOS XR file system. Cisco NCS 540 obsługuje tylko hosting aplikacji oparty na platformie Docker.

Hosting aplikacji kontenerowych oparty na platformie Docker
W tej sekcji przedstawiono koncepcję hostingu aplikacji kontenerowych i opisano przepływ pracy. Hosting aplikacji kontenerowych umożliwia hostowanie aplikacji we własnym środowisku i przestrzeni procesów (przestrzeni nazw) w kontenerze systemu Linux w systemie Cisco IOS XR. Twórca aplikacji ma pełną kontrolę nad środowiskiem tworzenia aplikacji i może korzystać z dowolnej dystrybucji Linuksa. Aplikacje są odizolowane od procesów płaszczyzny kontrolnej IOS XR; mimo to mogą łączyć się z sieciami poza XR za pośrednictwem interfejsów XR GigE. Aplikacje mają również łatwy dostęp lokalny file systemów na iOS XR.

Korzystanie z Dockera do hostowania aplikacji w systemie Cisco IOS XR
Docker to kontener służący do hostowania aplikacji w systemie Cisco IOS XR. Docker zapewnia izolację procesów aplikacji od podstawowych procesów hosta w XR za pomocą sieciowych przestrzeni nazw systemu Linux.

Need for Docker na Cisco IOS XR
Docker staje się preferowanym w branży modelem pakowania aplikacji w przestrzeni wirtualizacji. Docker stanowi podstawę do automatyzacji zarządzania cyklem życia aplikacji. Docker stosuje podejście warstwowe, które składa się z obrazu bazowego na dole, który obsługuje warstwy aplikacji na górze. Obrazy podstawowe są dostępne publicznie w repozytorium, w zależności od typu aplikacji, którą chcesz zainstalować na wierzchu. Obrazy okna dokowanego można manipulować za pomocą indeksu i rejestru okna dokowanego. Docker zapewnia przepływ pracy podobny do gita przy tworzeniu aplikacji kontenerowych i obsługuje mechanizm „cienkiej aktualizacji”, w którym aktualizowane są tylko różnice w kodzie źródłowym, co prowadzi do szybszych aktualizacji. Docker udostępnia także mechanizm „thin download”, dzięki któremu nowsze aplikacje są pobierane szybciej ze względu na współdzielenie wspólnych podstawowych warstw okna dokowanego pomiędzy wieloma kontenerami dokera. Udostępnianie warstw dokerów pomiędzy wieloma kontenerami dokowanych prowadzi do zmniejszenia zajmowanego miejsca przez kontenery dokowane w XR.

Architektura Dockera w Cisco IOS XR
Poniższy rysunek ilustruje architekturę dokera w systemie IOS XR.

Aplikacje hostingowe CISCO IOS XR 1

Pliki binarne aplikacji, które mają być hostowane, są instalowane wewnątrz kontenera dokowanego.

Hostowanie aplikacji w kontenerach Docker
Poniższy rysunek ilustruje przepływ pracy związany z hostowaniem aplikacji w kontenerach Docker w systemie IOS XR.
Aplikacje hostingowe CISCO IOS XR 2

  1. Okno dokowane file w repozytorium źródłowym służy do zbudowania pliku binarnego aplikacji file na komputerze hosta (kompilacja silnika dokującego).
  2. Plik binarny aplikacji file jest wypychany do rejestru obrazu okna dokowanego.
  3. Plik binarny aplikacji file jest pobierany z rejestru obrazów dokujących i kopiowany do kontenera dokowanego na XR (host docelowy silnika dokowanego).
  4. Aplikacja jest zbudowana i hostowana w kontenerze dokowanym na XR.

Aktualizowanie aplikacji w kontenerach Docker
Poniższy rysunek ilustruje przepływ pracy podczas aktualizowania aplikacji hostowanych w kontenerach dokowanych.Aplikacje hostingowe CISCO IOS XR 3

  1. Aktualizacja aplikacji jest generowana jako aktualizacja bibliotek podstawowych file (aktualizacja delta file) i wypchnięty do rejestru obrazu okna dokowanego.
  2. Aktualizacja delty file (zawierający jedynie różnicę w kodzie aplikacji) jest pobierany z rejestru obrazów platformy Docker i kopiowany do kontenerów platformy Docker na XR (host docelowy silnika platformy Docker).
  3. Kontenery dokowane są uruchamiane ponownie wraz z aktualizacją delta file.

Hosting TPA za pomocą Menedżera aplikacji

Tabela 1: Tabela historii funkcji

Funkcja Nazwa Informacje o wydaniu Funkcja Opis
Usługa demona platformy Docker na żądanie Wydanie 7.5.1 Począwszy od tego wydania,

Usługa demona Docker uruchamia się na routerze tylko wtedy, gdy skonfigurujesz aplikację hostingową innej firmy za pomocą menedżer aplikacji Komenda. Taka usługa na żądanie optymalizuje zasoby systemu operacyjnego, takie jak procesor, pamięć i moc.

We wcześniejszych wersjach usługa demona Docker uruchamiała się automatycznie podczas uruchamiania routera.

W poprzednich wersjach aplikacje były hostowane i kontrolowane za pomocą poleceń Dockera. Te polecenia Dockera zostały wykonane w powłoce bash jądra, na którym znajdowało się również oprogramowanie Cisco IOS XR. Dzięki wprowadzeniu Menedżera aplikacji możliwe jest teraz zarządzanie hostingiem aplikacji innych firm i ich funkcjonowaniem za pośrednictwem interfejsu CLI Cisco IOS XR. Dzięki tej funkcji wszystkie aktywowane aplikacje innych firm mogą zostać automatycznie uruchomione ponownie po ponownym załadowaniu routera lub przełączeniu RP. To automatyczne ponowne uruchomienie aplikacji zapewnia bezproblemowe działanie hostowanych aplikacji.

Obsługiwane polecenia w Menedżerze aplikacji
Dla każdego wykonanego polecenia lub konfiguracji menedżera aplikacji Menedżer aplikacji wykonuje żądaną akcję, łącząc się z demonem Dockera poprzez gniazdo Docker. Poniższa tabela zawiera listę funkcjonalności kontenera Dockera, ogólne polecenia Dockera, które były używane w poprzednich wersjach, oraz odpowiadające im polecenia menedżera aplikacji, których można teraz używać:

Funkcjonalność Ogólne polecenia Dockera Aplikacja Menedżer Polecenia
Zainstaluj aplikację RPM NA Pakiet instalacyjny routera #appmgr obr./min

nazwa_obrazu-0.1.0-XR_7.3.1.x86_64.rpm

Skonfiguruj i aktywuj aplikację • Załaduj obraz – [xr-vm_node0_RP0_CPU0:~]$docker loading -i /tmp/nazwa_obrazu.smoła

• Sprawdź obraz na routerze –

xr-vm_node0_RP0_CPU0:~]$obrazy dokera ls

• Utwórz kontener na obrazie –

[xr-vm_node0_RP0_CPU0:~]Utworzenie okna dokowanego $ nazwa_obrazu
#konfiguracja routera

Router(config)#appmgr Router(config-appmgr)#aplikacja

nazwa_aplikacji

Router(config-application)#aktywuj źródło dokowane typu nazwa_obrazu docker-run-opts „–net=host” docker-run-cmd „iperf3 -s -d”

  • Uruchom kontener – [xr-vm_node0_RP0_CPU0:~]$docker start mój_kontener_id Router(aplikacja-konfiguracyjna)#commit
View lista, statystyki, logi i szczegóły aplikacji

pojemnik

• Lista obrazów

-[xr-vm_node0_RP0_CPU0:~]$obrazy okna dokowanego ls

• Lista kontenerów –

[xr-vm_node0_RP0_CPU0:~]$doker ps

• Statystyka

-[xr-vm_node0_RP0_CPU0:~]$statystyki dokera

Router#pokaż tabelę źródłową appmgr

Router#pokaż nazwę aplikacji appmgr nazwa_aplikacji podsumowanie informacji

Router#pokaż nazwę aplikacji appmgr nazwa_aplikacji szczegóły informacji

Router#pokaż nazwę aplikacji appmgr nazwa_aplikacji statystyki

  • Dzienniki

-[xr-vm_node0_RP0_CPU0:~]Dzienniki $dockera

Router # pokaż tabelę aplikacji appmgr

Router#pokaż nazwę aplikacji appmgr nazwa_aplikacji kłody

Funkcjonalność Ogólne polecenia Dockera Aplikacja Menedżer Polecenia
Uruchom nowy • Wykonaj – [xr-vm_node0_RP0_CPU0:~]$docker exec -it mój_kontener_id Wykonanie aplikacji routera#appmgr
rozkaz

wewnątrz

nazwa nazwa_aplikacji docker-exec-cmd
działanie  
pojemnik  
Zatrzymaj kontener aplikacji • Zatrzymaj kontener – [xr-vm_node0_RP0_CPU0:~]$zatrzymanie dokowania mój_kontener_id Nazwa zatrzymania aplikacji routera#appmgr nazwa_aplikacji
Zabij kontener aplikacji • Zabij kontener – [xr-vm_node0_RP0_CPU0:~]$docker kill mój_kontener_id Nazwa zabicia aplikacji routera#appmgr nazwa_aplikacji
Uruchom kontener aplikacji • Uruchom kontener – [xr-vm_node0_RP0_CPU0:~]$docker start mój_kontener_id Nazwa startowa aplikacji router#appmgr nazwa_aplikacji
Dezaktywuj aplikację • Zatrzymaj kontener – [xr-vm_node0_RP0_CPU0:~]$zatrzymanie dokowania mój_kontener_id #konfiguracja routera

Router(config)#brak aplikacji appmgr nazwa_aplikacji

  • Usuń kontener – [xr-vm_node0_RP0_CPU0:~]$docker rm mój_kontener_id Router(konfiguracja)#commit
  • Usuń obraz – [xr-vm_node0_RP0_CPU0:~]$docker rmi nazwa_obrazu  
Odinstaluj obraz aplikacji/RPM • Odinstaluj obraz – [xr-vm_node0_RP0_CPU0:~]Odinstaluj aplikację $docker nazwa_obrazu Pakiet dezinstalacyjny pakietu Router#appmgr

nazwa_obrazu-0.1.0-XR_7.3.1.x86_64

Notatka: Użycie poleceń menedżera aplikacji wyjaśniono w sekcji „Hosting iPerf w kontenerach Docker w celu monitorowania wydajności sieci za pomocą Menedżera aplikacji”.

Konfigurowanie okna dokowanego z wieloma VRF

W tej sekcji opisano, jak skonfigurować okno Docker z wieloma VRF w systemie Cisco IOS XR. Informacje na temat konfigurowania wielu VRF można znaleźć w temacie Konfigurowanie wielu VRF na potrzeby hostingu aplikacji.

Konfiguracja
Wykonaj poniższe kroki, aby utworzyć i wdrożyć okno dokowane z wieloma VRF na XR.

  1. Utwórz okno dokowane obsługujące wiele VRF z uprawnieniami NET_ADMIN i SYS_ADMIN.
    W poniższym przykładzieample, zostaje uruchomiony kontener Docker zawierający trzy VRF (żółty, niebieski i zielony). ByłyampW pliku zakłada się, że poprzedni obraz okna dokowanego „multivrfimage” został zainstalowany przy użyciu polecenia appmgr package install.Aplikacje hostingowe CISCO IOS XR 4
    Notatka: 
    • Nie zaleca się montowania całej zawartości pliku /var/run/netns z hosta do Dockera, ponieważ powoduje to zamontowanie zawartości netns odpowiadającej XR i płaszczyźnie administratora systemu w Dockerze.
    • Nie należy usuwać VRF z Cisco IOS XR, gdy jest on używany w Dockerze. Jeśli z XR zostanie usunięty jeden lub więcej plików VRF, nie będzie można uruchomić okna dokowanego z wieloma VRF
  2. Sprawdź, czy okno dokowane multi-VRF zostało pomyślnie załadowane.Aplikacje hostingowe CISCO IOS XR 5
  3. Połącz się z kontenerem Docker z wieloma VRF, wykonując następujące polecenie.
    Router # aplikacja appmgr nazwa exec multivrfcontainer1 docker-exec-cmd /bin/bash/
    Domyślnie okno Docker jest ładowane w przestrzeni nazw global-vrf w systemie Cisco IOS XR.
  4. Sprawdź, czy wiele VRF jest dostępnych w oknie dokowanym.Aplikacje hostingowe CISCO IOS XR 7
    Aplikacje hostingowe CISCO IOS XR 8

Pomyślnie uruchomiłeś okno dokowane z wieloma VRF na Cisco IOS XR.

Dokumenty / Zasoby

Aplikacje hostingowe CISCO IOS XR [plik PDF] Instrukcja obsługi
Aplikacje hostingowe IOS XR, IOS XR, Aplikacje hostingowe, Aplikacje

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *