In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird beschrieben, wie eine IOx-Anwendung auf IE3400 bereitgestellt, aktiviert und gestartet wird.
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
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.
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
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
Es gibt mehrere Methoden, um IOx-Anwendungen auf dem IE3400 bereitzustellen. In diesem Dokument werden folgende Themen beschrieben:
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.
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.
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.
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.
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.
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 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
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.
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
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
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-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.
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
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
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).