De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
Dit document beschrijft hoe u een IOx-toepassing op IE3400 kunt implementeren, activeren en starten.
Cisco raadt kennis van de volgende onderwerpen aan:
Sinds IOS versie 17.2.1 ondersteunt de IE3400 Rugged Series switches IOx-toepassingshost. Hiermee kunt u uw eigen aangepaste code/toepassingen/containers op het randapparaat uitvoeren. Zoals bij de meeste IoT-platforms die applicatie-host ondersteunen, zijn er een aantal specificaties die in gedachten moeten worden gehouden, die in dit document nader worden toegelicht.
IE3400 heeft een extra (virtuele) interface voor connectiviteit op de IOx-toepassingen, genaamd AppGigabit Ethernet1/1
Vereenvoudigde architectuur voor deze interface wordt in deze afbeelding getoond.
Zoals u kunt zien, biedt de interface AppGigabit Ethernet1/1 connectiviteit aan de toepassingen. Er zijn verschillende opties beschikbaar aangezien AppGigabit Ethernet1/1 kan worden geconfigureerd als een normale, fysieke interface in zowel de toegang als de basismodus. Een andere algemene naam voor deze haven is de KR haven.
Op dit moment moet een IOx-toepassingsinterface VLAN-id configureren, zelfs als de AppGigiabitEthernet1/1-interface is geconfigureerd in de toegangsmodus, dit komt doordat het verkeer dat door virteth2/L2br wordt ontvangen altijd getagd is.
In dit document wordt AppGigabit Ethernet1/1 in de toegangsmodus in VLAN 1 geconfigureerd:
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#interface AppGigabitEthernet1/1 ie3400(config-if)#switchport mode access ie3400(config-if)#switchport access vlan 1 ie3400(config-if)#end
Om zowel de switch- als IOx-toepassingen te bereiken, moet het SVI IP-adres voor VLAN 1 worden geconfigureerd:
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#interface Vlan1 ie3400(config-if)#ip address 192.168.0.30 255.255.255.0 ie3400(config-if)#end
Nadat het netwerk is geconfigureerd, schakelt u IOx in op het apparaat.
Op IE3400 is een SD-kaart vereist om de IOx-toepassingen en -gegevens op te slaan. Zorg ervoor dat, voordat IOx is ingeschakeld, de SD-kaart is geformatteerd voor het volgende 4 bestandsysteem:
ie3400#format sdflash: ext4 Format operation may take a while. Continue? [confirm] Format operation will destroy all data in "sdflash:". Continue? [confirm] format completed with no errors Format of sdflash: complete
Schakel IOx in met deze opdracht:
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#iox Warning: Do not remove SD flash card when IOx is enabled or errors on SD device could occur. *Feb 21 12:49:18.310: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start *Feb 21 12:49:48.165: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.
Om toegang tot de IOx-functionaliteit op afstand te krijgen, door bijvoorbeeld Local Manager of ioxclient te gebruiken, zorg er voor dat de webserver is ingeschakeld en dat een gebruiker is ingesteld voor toegang:
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#ip http secure-server ie3400(config)#username admin privilege 15 password 0 secret
Er zijn meerdere methoden om IOx-toepassingen in IE3400 te implementeren. Dit document beschrijft:
Eén van de methoden is voldoende om alle taken uit te voeren. Ze zijn hier allemaal gedocumenteerd voor de volledigheid en om een breed publiek te bereiken.
Local Manager is een grafische interface die moet worden gebruikt om IOx-toepassingen te beheren en te implementeren op IOx-enabled-platforms. Local Manager is actief op het IOx-enabled apparaat zelf, in dit geval IE3400.
Als u de procedure heeft doorlopen om de webserver in staat te stellen en een gebruiker toe te voegen, dan dient u toegang te hebben tot de webinterface van IE3400 met behulp van het SVI IP-adres via https://<svi ip>/(in dit artikel: leaving https://192.168.0.30/):
U kunt inloggen met behulp van de gebruiker die is gemaakt zoals hierboven wordt uitgelegd, en vervolgens navigeren naar Configuration > Services > IOx, zoals in de afbeelding.
Heeft u liever rechtstreeks naar Local Manager gestuurd, dan kunt u de volgende URL gebruiken: https://<svi ip>/iox/login (in dit artikel https://192.168.0.30/iox/login).
Klik op het inlogscherm van Local Manager opnieuw op de bovenstaande definitie van de oorspronkelijke 15 gebruiker.
Start de toepassing zodra u inlogt.
Klik op Add New, kies een naam voor de toepassing en blader naar het toepassingspakket op uw pc, zoals in de afbeelding.
Nadat u op OK klikt, wordt de toepassing geüpload en geïnstalleerd op IE3400. Als alles goed gaat, moet u deze afbeelding op uw scherm zien, met uw IOx-toepassing in een uitgeruste staat.
Zodra de toepassing is ingezet, is de volgende stap het te activeren. In deze fase worden de middelen die in de aanvraag worden gebruikt, gespecificeerd.
Klik op de knop Activeren van de uitgevoerde IOx-toepassing, zoals in de afbeelding wordt weergegeven.
Op het volgende scherm kunt u de hoeveelheid berekende bronnen selecteren die aan de toepassing moet worden toegewezen.
Om een netwerk te configureren klikt u op Bewerken voor de netwerkconfiguratie, zoals in de afbeelding.
Kies in de netwerkconfiguratie om de standaardnaam van het netwerk te bewerken (gmt-bridge300) en klik vervolgens op Interface Setting, zoals in de afbeelding wordt getoond.
Kies in het popup-menu om ofwel een dynamische IP te gebruiken, waardoor de IOx-toepassing een IP vanaf de DHCP-server in het VLAN kan halen dat u op de AppGi1/1-interface hebt ingesteld of een statische IP kunt instellen.
Het is belangrijk, zoals vermeld met de netwerkstap, dat u het VLAN specificeert om met de toegang/de boomstam van AppGi1/1 in deze stap te verbinden.
Op dit moment moet een IOx-toepassingsinterface VLAN-id configureren, zelfs als de AppGigiabitEthernet1/1-interface is geconfigureerd in de toegangsmodus, dit komt doordat het verkeer dat door virteth2/L2br wordt ontvangen altijd getagd is.
Sla de netwerkinstellingen nu op en activeer de toepassing.
Als alles goed gaat, moet de toepassing in de geactiveerd status eindigen.
Nu de applicatie is geactiveerd, is het enige dat nog nodig is om de applicatie te starten.
Klik op de knop Start voor de toepassing in Local Manager, zoals aangegeven in de afbeelding.
Na deze actie, zou de app in de actieve staat moeten zijn en u zou de toepassing moeten kunnen bereiken met behulp van het netwerk geconfigureerd.
Mocht u DHCP gebruiken, navigeer dan om > App-Info > interface-naam > eth0 te beheren om het IP-adres voor de toepassing te vinden.
Voor dit document is deze toepassing een eenvoudige webserver, die op poort 9000 loopt. Om het te testen, navigeer dan naar het IP-adres dat ingesteld is (of verkregen met DHCP):
IOxclient is de op CLI gebaseerde tegenhanger van Local Manager en wordt gebruikt om IOx toepassingen te beheren en in te voeren op IOx-enabled platforms die CLI gebruiken. IOxclient heeft het over dezelfde webservice die wordt uitgevoerd op het IOx-enabled-apparaat zelf, in dit geval IE3400.
U kunt ioxclient downloaden via de volgende link: https://developer.cisco.com/docs/iox/#!iox-resource-downloads
Zodra geëxtraheerd, kunnen we ioxclient runnen en een profiel maken dat ioxclient zal vertellen hoe de IE3400 te bereiken:
[jensd@cen8 ~]$ ioxclient profiles create Config file not found : /home/jensd/.ioxclientcfg.yaml Creating one time configuration.. Your / your organization's name : Cisco Your / your organization's URL : Your IOx platform's IP address[127.0.0.1] : 192.168.0.30 Your IOx platform's port number[8443] : 443 Authorized user name[root] : admin Password for admin : Local repository path on IOx platform[/software/downloads]: URL Scheme (http/https) [https]: API Prefix[/iox/api/v2/hosting/]: Your IOx platform's SSH Port[2222]: Your RSA key, for signing packages, in PEM format[]: Your x.509 certificate in PEM format[]: Activating Profile default Saving current configuration
De informatie die moet worden ingevoerd, is afhankelijk van de netwerkconfiguratie en de vooraf ingestelde gebruiker, zoals uitgelegd aan het begin van dit artikel.
Houd in gedachten dat het IOx-poortnummer voor IE3400 standaard 443 is en niet de voorgestelde poort 8443.
De eerste stap is IE3400 in te zetten als de toepassing die op het randapparaat is geïnstalleerd.
Dit kan worden gedaan zoals hier wordt getoond via ioxclient:
[jensd@cen8 ~]$ ioxclient app install testweb package.tar Currently active profile : default Command Name: application-install Using the package descriptor file in the project dir Validating descriptor file package.yaml with package schema definitions ... Sending request to install the app Installation Successful. App is available at : http://192.168.0.30/iox/api/v2/hosting/apps/testweb Successfully deployed
U kunt de status van de app met de opdracht AppleList controleren:
[jensd@cen8 ~]$ ioxclient app list Currently active profile : default Command Name: application-list List of installed App : 1. testweb ---> DEPLOYED
Nu de toepassing wordt ingezet, kunt u doorgaan om deze te activeren. In deze fase specificeert u welke bronnen door de toepassing moeten worden gebruikt.
Om te kiezen welke computerbronnen voor de toepassing toegestaan zijn om te gebruiken of om netwerken te configureren moet u informatie in JSON-formaat verstrekken.
Voor dit artikel wordt deze JSON gebruikt voor activering:
[jensd@cen8 ~]$ cat activation.json { "resources": { "network": [{ "interface-name": "eth0", "network-info": {"vlan-id": "1"}, "network-type": "vlan", "ipv4": { "dns": "", "gateway": "192.168.0.1", "ip": "192.168.0.223", "mode": "static", "prefix": "24" } }] } }
Het bovenstaande stelt het juiste VLAN-id en IP-adres in voor de toepassing. Mocht u DHCP willen gebruiken, kunt u het ipv4 blok verwijderen.
Het is belangrijk, zoals vermeld met de voorzien van een netwerk stap, dat u het VLAN specificeert om met de toegang/boomstam van AppGi1/1 in deze stap te passen.
Op dit moment moet een IOx-toepassingsinterface VLAN-id configureren, zelfs als de AppGigiabitEthernet1/1-interface is geconfigureerd in de toegangsmodus, dit komt doordat het verkeer dat door virteth2/L2br wordt ontvangen altijd getagd is.
Gebruik deze opdracht om de IOx-toepassing via JSON-payload te activeren:
[jensd@cen8 ~]$ ioxclient app activate testweb --payload activation.json Currently active profile : default Command Name: application-activate Payload file : activation.json. Will pass it as application/json in request body.. App testweb is Activated
Opnieuw kunt u de opdracht app list gebruiken om de status na activering te controleren:
[jensd@cen8 ~]$ ioxclient app list Currently active profile : default Command Name: application-list List of installed App : 1. testweb ---> ACTIVATED
Nu de applicatie is geactiveerd, is het enige dat nog nodig is om de applicatie te starten.
De ioxclient opdracht om onze toepassing te starten is als volgt:
[jensd@cen8 ~]$ ioxclient app start testweb Currently active profile : default Command Name: application-start App testweb is Started
Om te weten welk IP-adres van DHCP is verkregen, kunt u deze opdracht gebruiken voor het geval u het ipv4-onderdeel tijdens activering hebt overgeslagen:
[jensd@cen8 ~]$ ioxclient app info testweb | grep ipv4 "ipv4": { "ipv4": "192.168.0.223", ...
Om te controleren of de start opdracht succesvol was, konden we de opdracht ioxclient app list opnieuw gebruiken of simpelweg controleren of de toepassing doet wat hij hoort te doen.
Voor dit artikel, is deze toepassing een eenvoudige webserver, die op poort 9000 loopt zodat we het kunnen testen door het IP-adres in te stellen dat is ingesteld (of verkregen door DHCP):
[jensd@cen8 ~]$ curl http://192.168.0.223:9000 <html><body><h1>IOX python webserver on arm64v8</h1></body></html>
IOS-XE apparaat dat IOx-enabled is, stelt de mogelijkheid bloot om de toepassingsplaatsing te doen en wordt direct beheerd vanuit IOS-XE CLI. Dit vereist niet dat de webserver op IOS-XE wordt ingeschakeld.
Aangezien de toepassing vanuit IOS-XE CLI wordt uitgevoerd, kopieert u eerst uw IOx-toepassingspakket naar een bestandssysteem dat eenvoudig vanaf die CLI toegankelijk is.
Het makkelijkst is om eerst het IOx-toepassingspakket (Package.tar) naar flitser te kopiëren:
ie3400#copy scp: flash: Address or name of remote host []? 192.168.0.21 Source username [admin]? jensd Source filename []? /home/jensd/package.tar Destination filename [package.tar]? Password: Sending file modes: C0644 16547840 package.tar !!!!!!...!!!!!! 16547840 bytes copied in 25.244 secs (655516 bytes/sec)
Zodra de verpakking er is, zet deze dan in voor IOx:
ie3400#app-hosting install appid testweb package flash:package.tar Installing package 'flash:package.tar' for 'testweb'. Use 'show app-hosting list' for progress.
Wanneer dit is voltooid, kunt u de status van de installatie controleren.
ie3400#sh app-hosting list App id State --------------------------------------------------------- testweb DEPLOYED
Na de invoering, net als bij de andere methoden, is de volgende stap het activeren van de toepassing. In deze fase moet worden gespecificeerd welke middelen door de toepassing worden gebruikt.
U moet ten minste een netwerk configureren. Dit kan worden gedaan zoals hieronder wordt getoond:
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#app-hosting appid testweb ie3400(config-app-hosting)#app-vnic AppGigabitEthernet trunk ie3400(config-config-app-hosting-trunk)#vlan 1 guest-interface 0 ie3400(config-config-app-hosting-vlan-access-ip)#guest-ipaddress 192.168.0.224 netmask 255.255.255.0 ie3400(config-config-app-hosting-vlan-access-ip)#end
Dit geeft de toepassing op om een statische IP te ontvangen, met behulp van VLAN ID 1.
Het is belangrijk, zoals vermeld met de voorzien van een netwerk stap, dat u het VLAN specificeert om met de toegang/boomstam van AppGi1/1 in deze stap te passen.
Op dit moment moet een IOx-toepassingsinterface VLAN-ID geconfigureerd hebben, zelfs als de AppGigiabitEthernet1/1-interface in de toegangsmodus is geconfigureerd, dit is omdat het verkeer dat door virteth2/L2br wordt ontvangen altijd met een label is verbonden:
Nadat u de configuratie hebt ingesteld, gaat u door met de activering:
ie3400#app-hosting activate appid testweb testweb activated successfully Current state is: ACTIVATED
Na de activering kunt u de applicatie als laatste stap starten.
Dit kan met deze opdracht worden gedaan:
ie3400#app-hosting start appid testweb testweb started successfully Current state is: RUNNING
Heeft u geen IP-adres ingesteld in de activeringsfase en heeft u besloten DHCP te gebruiken, dan kunt u het IP-adres dat uw applicatie heeft ontvangen:
ie3400#sh app-hosting detail | i IPv4 IPv4 address : 192.168.0.224
Om te controleren of de start opdracht succesvol was, kunnen we simpelweg controleren of de toepassing doet wat zij zou moeten doen.
Voor dit document is deze toepassing een eenvoudige webserver, die op poort 9000 draait, zodat we het kunnen testen door het IP-adres dat ingesteld is (of verkregen door DHCP) te verkennen.