Inhalt

Einführung

Voraussetzungen

Anforderungen

Konfigurieren

Netzwerke

IOx aktivieren

Erste Schritte

Über lokalen Manager

Herstellen einer Verbindung zum lokalen Manager

Bereitstellen

Aktivieren

Starten

IOxclient verwenden

ioxclient vorbereiten

Bereitstellen

Aktivieren

Starten

IOS-XE-CLI verwenden

Bereitstellen

Aktivieren

Starten

Einführung

In diesem Dokument wird beschrieben, wie eine IOx-Anwendung auf IE3400 bereitgestellt, aktiviert und gestartet wird.

Voraussetzungen

Anforderungen

Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:

- Grundlegendes zu Cisco IOx und IOS

- IE3400 8P2S oder 8T2S mit IOS XE-Version >17.2.1

Konfigurieren

Seit IOS-Version 17.2.1 unterstützen die Rugged Series Switches IE3400 das Hosting von IOx-Anwendungen. Dadurch können Sie eigenen benutzerdefinierten Code/Anwendungen/Container auf dem Edge-Gerät ausführen. Wie bei den meisten IoT-Plattformen, die Anwendungs-Hosting unterstützen, sind einige Details zu beachten, die in diesem Dokument näher erläutert werden.

Netzwerke

Der IE3400 verfügt über eine zusätzliche (virtuelle) Schnittstelle für die Anbindung an die IOx-Anwendungen, die als AppGigabitEthernet1/1 bezeichnet wird.

In diesem Bild wird eine vereinfachte Architektur für diese Schnittstelle angezeigt.

Wie Sie sehen, stellt die Schnittstelle AppGigabitEthernet1/1 die Verbindung zu den Anwendungen bereit. Es stehen verschiedene Optionen zur Verfügung, da AppGigabitEthernet1/1 als reguläre, physische Schnittstelle sowohl im Zugriffs- als auch im Trunk-Modus konfiguriert werden kann. Ein weiterer gebräuchlicher Name für diesen Port ist der KR-Port.

Derzeit muss für eine IOx-Anwendungsschnittstelle eine VLAN-ID konfiguriert sein, selbst wenn die AppGigabitEthernet1/1-Schnittstelle im Zugriffsmodus konfiguriert ist. Dies liegt daran, dass der von virteth2/L2br empfangene Datenverkehr immer markiert ist.

In diesem Dokument wird AppGigabitEthernet1/1 im Zugriffsmodus in VLAN 1 konfiguriert:

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

Um sowohl den Switch als auch IOx-Anwendungen zu erreichen, muss die SVI-IP-Adresse für VLAN 1 konfiguriert werden:

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 aktivieren

Aktivieren Sie nach der Konfiguration des Netzwerks IOx auf dem Gerät.

Beim IE3400 ist eine SD-Karte erforderlich, um die IOx-Anwendungen und -Daten zu speichern. Bevor IOx aktiviert wird, stellen Sie sicher, dass die SD-Karte mit dem ext4-Dateisystem formatiert ist:

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

Aktivieren Sie anschließend IOx mit dem folgenden Befehl:

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.

Um den Remote-Zugriff auf die IOx-Funktion zu ermöglichen, müssen Sie z. B. mithilfe von Local Manager oder ioxclient sicherstellen, dass der Webserver aktiviert ist und ein Benutzer für den Zugriff konfiguriert ist:

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

Erste Schritte

Es gibt mehrere Methoden, um IOx-Anwendungen auf dem IE3400 bereitzustellen. In diesem Dokument werden folgende Themen beschrieben:

- Verwenden des lokalen Managers - Grafische Benutzeroberfläche

- Verwenden von Ioxclient - Remote-CLI

- Verwenden der IOS-XE - On-Device-CLI

Eine der Methoden reicht aus, um alle Aufgaben zu erledigen, sie sind hier lediglich alle drei dokumentiert, um Vollständigkeit zu gewährleisten und ein breites Publikum zu erreichen.

Über lokalen Manager

Local Manager ist eine grafische Oberfläche, die zum Verwalten und Bereitstellen von IOx-Anwendungen auf IOx-fähigen Plattformen verwendet wird. Der lokale Manager wird auf dem IOx-fähigen Gerät selbst ausgeführt, in diesem Fall auf dem IE3400.

Herstellen einer Verbindung zum lokalen Manager

Wenn Sie das Verfahren zum Aktivieren des Webservers und zum Hinzufügen eines Benutzers durchlaufen haben, sollten Sie mithilfe der SVI-IP-Adresse unter https://<svi ip>/ auf die Webschnittstelle des IE3400 zugreifen können (in diesem Artikel: https://192.168.0.30/):

Sie können sich mit dem wie oben beschrieben erstellten Benutzer anmelden und dann zu Configuration > Services > IOx navigieren, wie im Bild gezeigt.

Wenn Sie die direkte Navigation zum lokalen Manager bevorzugen, können Sie die folgende URL verwenden: https://<svi ip>/iox/login (in diesem Artikel https://192.168.0.30/iox/login).

Verwenden Sie auf dem Anmeldebildschirm des lokalen Managers erneut den oben definierten priv 15-Benutzer.

Bereitstellen

Sobald Sie sich angemeldet haben, starten Sie die Bereitstellung der Anwendung.

Klicken Sie auf Neu hinzufügen, wählen Sie einen Namen für die Anwendung aus, und navigieren Sie zum Anwendungspaket auf Ihrem PC, wie im Bild gezeigt.

Nachdem Sie auf OK geklickt haben, wird die Anwendung hochgeladen und auf dem IE3400 installiert. Wenn alles gut geht, sollten Sie dieses Bild auf Ihrem Bildschirm sehen, und Ihre IOx-Anwendung befindet sich im Bereitstellungszustand.

Aktivieren

Sobald die Anwendung bereitgestellt ist, wird sie im nächsten Schritt aktiviert. In dieser Phase werden die von der Anwendung verwendeten Ressourcen angegeben.

Klicken Sie auf die Schaltfläche Aktivieren der bereitgestellten IOx-Anwendung, wie im Bild gezeigt.

Im nächsten Bildschirm können Sie die Anzahl der Rechenressourcen auswählen, die der Anwendung zugewiesen werden sollen.

Um das Netzwerk zu konfigurieren, klicken Sie auf Bearbeiten für die Netzwerkkonfiguration, wie im Bild gezeigt.

Wählen Sie in der Netzwerkkonfiguration die Option zum Bearbeiten des Standard-Netzwerknamens (mgmt-bridge300) aus, und klicken Sie dann auf Schnittstelleneinstellungen, wie im Bild gezeigt.

Wählen Sie im Popup entweder eine dynamische IP aus, die es der IOx-Anwendung ermöglicht, eine IP vom DHCP-Server im VLAN abzurufen, das Sie auf der AppGi1/1-Schnittstelle konfiguriert haben, oder eine statische IP festzulegen.

Wie im Netzwerkschritt erwähnt, ist es wichtig, dass Sie in diesem Schritt das VLAN angeben, das mit dem Access/Trunk von AppGi1/1 übereinstimmt.

Derzeit muss für eine IOx-Anwendungsschnittstelle eine VLAN-ID konfiguriert sein, selbst wenn die AppGigabitEthernet1/1-Schnittstelle im Zugriffsmodus konfiguriert ist. Dies liegt daran, dass der von virteth2/L2br empfangene Datenverkehr immer markiert ist.

Speichern Sie jetzt die Netzwerkeinstellungen, und aktivieren Sie die Anwendung.

Wenn alles gut geht, sollte die Anwendung in den Status Aktiviert gestellt werden.

Starten

Nachdem die Anwendung aktiviert ist, muss nur noch die Anwendung gestartet werden.

Klicken Sie auf die Start-Schaltfläche für die Anwendung im lokalen Manager, wie im Bild gezeigt.

Nach dieser Aktion sollte sich die App im Running-Zustand befinden, und Sie sollten die Anwendung über das konfigurierte Netzwerk erreichen können.

Wenn Sie DHCP verwenden möchten, navigieren Sie zu Manage > App-Info > interface-name > eth0, um die IP-Adresse für die Anwendung zu finden.

Für dieses Dokument ist diese Anwendung ein einfacher Webserver, der auf Port 9000 ausgeführt wird. Um sie zu testen, navigieren Sie zur konfigurierten (oder über DHCP abgerufenen) IP-Adresse:

IOxclient verwenden

IOxclient ist das CLI-basierte Gegenstück zum Local Manager und dient zum Verwalten und Bereitstellen von IOx-Anwendungen auf IOx-fähigen Plattformen über CLI. IOxclient spricht mit demselben Webdienst, der auf dem IOx-fähigen Gerät selbst ausgeführt wird, in diesem Fall dem IE3400.

Sie können den Ioxclient über den folgenden Link herunterladen: https://developer.cisco.com/docs/iox/#!iox-resource-downloads

ioxclient vorbereiten

Nach dem Extrahieren können wir ioxclient ausführen und ein Profil erstellen, das dem Ioxclient mitteilt, wie der IE3400 erreicht wird:

[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

Die einzugebenden Informationen hängen von der Netzwerkkonfiguration und dem priv15-Benutzer ab, wie zu Beginn dieses Artikels erläutert.

Beachten Sie, dass die IOx-Portnummer für IE3400 standardmäßig 443 und nicht den empfohlenen Port 8443 beträgt.

Bereitstellen

Im ersten Schritt wird IE3400 als auf dem Edge-Gerät installierte Anwendung bereitgestellt.

Dies kann wie hier gezeigt über ioxclient erfolgen:

[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

Sie können den Status der App mithilfe des Befehls app list überprüfen:

[jensd@cen8 ~]$ ioxclient app list

Currently active profile :  default

Command Name:  application-list

List of installed App :

1. testweb    --->    DEPLOYED

Aktivieren

Nach der Bereitstellung der Anwendung können Sie mit der Aktivierung fortfahren. In dieser Phase geben Sie an, welche Ressourcen von der Anwendung verwendet werden sollen.

Sie müssen Informationen im JSON-Format bereitstellen, um festzulegen, welche Computing-Ressourcen für die Anwendung verwendet oder das Netzwerk konfiguriert werden dürfen.

Dieser JSON-Artikel wird zur Aktivierung verwendet:

[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"

}

}]

}

}

In den obigen Abschnitten werden die richtige VLAN-ID und IP-Adresse für die Anwendung festgelegt. Wenn Sie DHCP verwenden möchten, können Sie den IPv4-Block entfernen.

Wie im Netzwerkschritt erwähnt, ist es wichtig, dass Sie in diesem Schritt das VLAN angeben, das mit dem Access/Trunk von AppGi1/1 übereinstimmt.

Derzeit muss für eine IOx-Anwendungsschnittstelle eine VLAN-ID konfiguriert sein, selbst wenn die AppGigabitEthernet1/1-Schnittstelle im Zugriffsmodus konfiguriert ist. Dies liegt daran, dass der von virteth2/L2br empfangene Datenverkehr immer markiert ist.

Um die IOx-Anwendung über JSON-Payload zu aktivieren, verwenden Sie den folgenden Befehl:

[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

Sie können den App-Listenbefehl erneut verwenden, um den Status nach der Aktivierung zu überprüfen:

[jensd@cen8 ~]$ ioxclient app list

Currently active profile :  default

Command Name:  application-list

List of installed App :

1. testweb    --->    ACTIVATED

Starten

Nachdem die Anwendung aktiviert ist, muss nur noch die Anwendung gestartet werden.

Der ioxclient-Befehl zum Starten der Anwendung lautet wie folgt:

[jensd@cen8 ~]$ ioxclient app start testweb

Currently active profile :  default

Command Name:  application-start

App testweb is Started

Wenn Sie bei der Aktivierung die IPv4-Komponente übersprungen haben, können Sie mit dem folgenden Befehl ermitteln, welche IP-Adresse von DHCP übernommen wurde:

[jensd@cen8 ~]$ ioxclient app info testweb | grep ipv4

"ipv4": {

"ipv4": "192.168.0.223",

...

Um zu überprüfen, ob der Startbefehl erfolgreich war, können wir den Befehl ioxclient app list verwenden oder einfach überprüfen, ob die Anwendung das tut, was sie eigentlich tun soll.

Für diesen Artikel ist diese Anwendung ein einfacher Webserver, der auf Port 9000 ausgeführt wird, sodass wir sie testen können, indem wir die konfigurierte (oder über DHCP abgerufene) IP-Adresse abfragen:

[jensd@cen8 ~]$ curl http://192.168.0.223:9000

<html><body><h1>IOX python webserver on arm64v8</h1></body></html>

IOS-XE-CLI verwenden

IOS-XE-Geräte, die IOx-fähig sind, die Anwendungsbereitstellung verfügbar machen und direkt über die IOS-XE-CLI verwaltet werden können. Hierfür muss der Webserver auf IOS-XE nicht aktiviert sein.

Bereitstellen

Da die Anwendung über die IOS-XE-CLI bereitgestellt wird, kopieren Sie zuerst das IOx-Anwendungspaket in ein Dateisystem, auf das von dieser CLI aus problemlos zugegriffen werden kann.

Am einfachsten ist es, zuerst das IOx-Anwendungspaket (package.tar) in den Flash-Speicher zu kopieren:

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)

Sobald das Paket vorhanden ist, stellen Sie es für IOx bereit:

ie3400#app-hosting install appid testweb package flash:package.tar

Installing package 'flash:package.tar' for 'testweb'. Use 'show app-hosting list' for progress.

Wenn dieser Vorgang abgeschlossen ist, können Sie den Status der Installation überprüfen.

ie3400#sh app-hosting list

App id                                   State

---------------------------------------------------------

testweb                                  DEPLOYED

Aktivieren

Nach der Bereitstellung, wie bei den anderen Methoden, besteht der nächste Schritt darin, die Anwendung zu aktivieren. Geben Sie in dieser Phase an, welche Ressourcen von der Anwendung verwendet werden.

Sie müssen mindestens das Netzwerk konfigurieren. Dies kann wie hier gezeigt erfolgen:

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

Dadurch wird die Anwendung angewiesen, mithilfe der VLAN-ID 1 eine statische IP-Adresse zu erhalten.

Wie im Netzwerkschritt erwähnt, ist es wichtig, dass Sie in diesem Schritt das VLAN angeben, das mit dem Access/Trunk von AppGi1/1 übereinstimmt.

Derzeit muss für eine IOx-Anwendungsschnittstelle eine VLAN-ID konfiguriert werden, selbst wenn die AppGigabitEthernet1/1-Schnittstelle im Zugriffsmodus konfiguriert ist. Dies liegt daran, dass der von virteth2/L2br empfangene Datenverkehr immer markiert ist:

Fahren Sie nach dem Einstellen der Konfiguration mit der Aktivierung fort:

ie3400#app-hosting activate appid testweb

testweb activated successfully

Current state is: ACTIVATED

Starten

Nach der Aktivierung ist der letzte Schritt, die Anwendung zu starten.

Dieser Befehl kann verwendet werden:

ie3400#app-hosting start appid testweb

testweb started successfully

Current state is: RUNNING

Falls Sie in der Aktivierungsphase keine IP-Adresse festgelegt haben und sich für die Verwendung von DHCP entschieden haben, erhalten Sie die IP-Adresse, die Ihre Anwendung erhalten hat:

ie3400#sh app-hosting detail | i IPv4

IPv4 address        : 192.168.0.224

Um zu überprüfen, ob der Startbefehl erfolgreich war, können wir einfach überprüfen, ob die Anwendung das tut, was sie soll.

Für dieses Dokument ist diese Anwendung ein einfacher Webserver, der auf Port 9000 läuft, sodass wir sie testen können, indem wir die IP-Adresse konfiguriert (oder über DHCP abgerufen).