Inhoud

Inleiding

Voorwaarden

Vereisten

Configureren

Netwerknetwerken

IOx inschakelen

Aan de slag

Via lokaal beheer

Connect met Local Manager

implementeren

activeren

Start

Gebruik IOxclient

Bereid ioxclient voor

implementeren

activeren

Start

Gebruik IOS-XE CLI

implementeren

activeren

Start

Inleiding

Dit document beschrijft hoe u een IOx-toepassing op IE3400 kunt implementeren, activeren en starten.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Basis begrip van Cisco IOx en IOS

- IE3400 8P2S of 8T2S actieve IOS XE-versie >17.2.1

Configureren

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.

Netwerknetwerken

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

IOx inschakelen

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

Aan de slag

Er zijn meerdere methoden om IOx-toepassingen in IE3400 te implementeren. Dit document beschrijft:

- Local Manager gebruiken - Graphical UI

- Gebruik van ioxclient - Remote CLI

- IOS-XE gebruiken - CLI op apparaat

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.

Via lokaal beheer

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.

Connect met Local Manager

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.

implementeren

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.

activeren

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.

Start

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):

Gebruik IOxclient

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

Bereid ioxclient voor

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.

implementeren

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

activeren

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

Start

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>

Gebruik IOS-XE CLI

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.

implementeren

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

activeren

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

Start

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.