目錄

簡介

必要條件

需求

設定

網路

啟用IOx

開始使用

通過本地管理器

連線到本地管理器

部署

啟用

開始

使用IOxclient

準備ioxclient

部署

啟用

開始

使用IOS-XE CLI

部署

啟用

開始

簡介

本文檔介紹如何在IE3400上部署、啟用和啟動IOx應用程式。

必要條件

需求

思科建議您瞭解以下主題：

- 對Cisco IOx和IOS有基礎認識

- 運行IOS XE版本>17.2.1的IE3400 8P2S或8T2S

設定

自IOS版本17.2.1以來，IE3400強固型系列交換機支援IOx應用託管。這允許您在邊緣裝置上運行自己的自定義代碼/應用程式/容器。與大多數支援應用託管的IoT平台一樣，需要記住一些具體資訊，本文檔將對此進行進一步說明。

網路

IE3400具有一個附加（虛擬）介面，用於連線到IOx應用程式，稱為AppGigabitEthernet1/1

此介面的簡化架構如下圖所示。

您可以看到，稱為AppGigabitEthernet1/1的介面提供了到應用的連線。有多種選項可用，因為AppGigabitEthernet1/1可在訪問或中繼模式下配置為常規物理介面。此埠的另一個常見名稱是KR埠。

目前，即使AppGigabitEthernet1/1介面配置為接入模式，IOx應用介面也需要配置VLAN ID，這是因為通過virteth2/L2br接收的流量總是進行標籤。

本檔案在VLAN 1中的存取模式下設定了AppGigabitEthernet1/1:

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

要同時訪問交換機和IOx應用程式，需要配置VLAN 1的SVI IP地址：

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

配置網路後，在裝置上啟用IOx。

在IE3400上，需要SD卡來儲存IOx應用程式和資料。啟用IOx之前，請確保SD卡已使用ext4檔案系統格式化：

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

然後使用以下命令啟用IOx:

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.

要遠端訪問IOx功能，例如使用Local Manager或ioxclient，請確保啟用Web伺服器並配置使用者進行訪問：

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

開始使用

有多種方法可以將IOx應用程式部署到IE3400。本文檔介紹了以下內容：

- 使用本地管理器 — 圖形UI

- 使用ioxclient — 遠端CLI

- 使用IOS-XE — 裝置上CLI

其中一種方法足以執行所有任務，它們僅記錄在此所有三個任務以實現完整性和廣泛受眾。

通過本地管理器

Local Manager是一個圖形介面，用於在支援IOx的平台上管理和部署IOx應用程式。本地管理器正在啟用IOx的裝置本身（在本例中為IE3400）上運行。

連線到本地管理器

如果您已經完成啟用Web伺服器和新增使用者的過程，您應該能夠使用https://<svi ip>/ SVI IP地址訪問IE3400的Web介面(本文中為：https://192.168.0.30/):

您可以使用如上所述建立的使用者登入，然後導覽至Configuration > Services > IOx，如下圖所示。

如果您希望直接導航到本地管理器，您可以使用以下URL:https://<svi ip>/iox/login(本文https://192.168.0.30/iox/login)。

在Local Manager登入螢幕上，再次使用上面的priv 15使用者定義。

部署

登入後，開始部署應用程式。

按一下Add New，選擇應用程式的名稱，然後瀏覽到PC上的應用程式套件，如下圖所示。

按一下OK後，應用程式將上傳並安裝在IE3400上。如果一切順利，您應該會在螢幕上看到此影象，並且您的IOx應用程式處於已部署狀態。

啟用

部署應用後，下一步是啟用它。在此階段，指定應用程式使用的資源。

按一下已部署IOx應用的Activate按鈕，如下圖所示。

在下一個螢幕中，您可以選擇要分配給應用程式的計算資源量。

若要設定網路，請按一下「edit」以設定網路組態，如下圖所示。

在網路配置中，選擇編輯預設的網路名稱(mgmt-bridge300)，然後按一下Interface Setting，如下圖所示。

在彈出視窗中，選擇使用動態IP（允許IOx應用程式從您在AppGi1/1介面上配置的VLAN中的DHCP伺服器獲取IP）或設定靜態IP。

如同在網路步驟中提到的，在此步驟中，必須指定要與AppGi1/1的接入/中繼匹配的VLAN。

目前，即使AppGigabitEthernet1/1介面配置為接入模式，IOx應用介面也需要配置VLAN ID，這是因為通過virteth2/L2br接收的流量總是進行標籤。

現在儲存網路設定並啟用應用程式。

如果一切順利，應用程式應該會結束為已啟用狀態。

開始

既然應用程式已經啟用，那麼啟動應用程式就是一切工作的基礎。

在Local Manager中按一下應用程式的Start按鈕，如下圖所示。

執行此操作後，應用應處於「正在運行」狀態，並且您應該能夠使用配置的網路連線應用。

如果您選擇使用DHCP，請導航到Manage > App-Info > interface-name > eth0以查詢應用程式的IP地址。

對於本文而言，此應用程式是運行在埠9000上的簡單Web伺服器。要測試它，請導航到配置的IP地址（或通過DHCP獲得）：

使用IOxclient

IOxclient是基於CLI的Local Manager版本，用於使用CLI在支援IOx的平台上管理和部署IOx應用程式。IOxclient與運行IOx的裝置本身（本例中為IE3400）上運行的相同Web服務進行通訊。

您可以使用以下連結下載ioxclient:https://developer.cisco.com/docs/iox/#!iox-resource-downloads

準備ioxclient

提取後，我們可以運行ioxclient並建立一個將告訴ioxclient如何到達IE3400的配置檔案：

[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

需要輸入的資訊取決於網路配置和priv15使用者，如本文開頭所述。

請記住，IE3400的IOx埠號預設為443，而不是建議的埠8443。

部署

第一步是部署IE3400作為邊緣裝置上安裝的應用程式。

這可以通過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

您可以使用app list命令驗證應用的狀態：

[jensd@cen8 ~]$ ioxclient app list

Currently active profile :  default

Command Name:  application-list

List of installed App :

1. testweb    --->    DEPLOYED

啟用

在部署了應用程式之後，可以繼續啟用它。在此階段，可以指定應用程式要使用的資源。

要選擇允許應用程式使用或配置網路的計算資源，您需要以JSON格式提供資訊。

對於本文而言，此JSON用於啟用：

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

}

}]

}

}

上面列出了要用於應用程式的正確VLAN ID和IP地址。如果您要使用DHCP，可以刪除ipv4地址塊。

如同在網路步驟中提到的，在此步驟中，必須指定要與AppGi1/1的接入/中繼匹配的VLAN。

目前，即使AppGigabitEthernet1/1介面配置為接入模式，IOx應用介面也需要配置VLAN ID，這是因為通過virteth2/L2br接收的流量總是進行標籤。

要通過JSON負載啟用IOx應用程式，請使用以下命令：

[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

同樣，您也可以在啟用後使用app list命令檢查狀態：

[jensd@cen8 ~]$ ioxclient app list

Currently active profile :  default

Command Name:  application-list

List of installed App :

1. testweb    --->    ACTIVATED

開始

既然應用程式已經啟用，那麼啟動應用程式就是一切工作的基礎。

用於啟動應用程式的ioxclient命令如下：

[jensd@cen8 ~]$ ioxclient app start testweb

Currently active profile :  default

Command Name:  application-start

App testweb is Started

若要瞭解從DHCP獲取的IP位址，如果您在啟用期間跳過ipv4部分，則可以使用以下命令：

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

"ipv4": {

"ipv4": "192.168.0.223",

...

要檢查start命令是否成功，我們可以再次使用ioxclient app list命令，或者只檢查應用程式是否執行它應該執行的操作。

對於本文而言，此應用程式是一個簡單的Web伺服器，運行在埠9000上，因此可以通過查詢配置的IP地址（或通過DHCP獲取的）對其進行測試：

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

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

使用IOS-XE CLI

啟用IOx的IOS-XE裝置，能夠執行應用部署，並直接從IOS-XE CLI進行管理。這不需要啟用IOS-XE上的Web伺服器。

部署

由於應用程式是從IOS-XE CLI部署的，首先將您的IOx應用程式套件複製到一個可從該CLI輕鬆訪問的檔案系統。

最簡單的方法是首先將IOx應用程式套件(package.tar)復制到快閃記憶體中：

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)

部署包後，將其部署為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.

完成後，您可以檢查安裝狀態。

ie3400#sh app-hosting list

App id                                   State

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

testweb                                  DEPLOYED

啟用

部署之後，與其他方法一樣，下一步是啟用應用程式。在此階段，指定應用程式使用的資源。

您至少需要配置網路。可以按如下所示完成此操作：

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

這指示應用程式使用VLAN ID 1接收靜態IP。

如同在網路步驟中提到的，在此步驟中，必須指定要與AppGi1/1的接入/中繼匹配的VLAN。

目前，即使AppGigabitEthernet1/1介面配置為接入模式，IOx應用介面也需要配置VLAN ID，這是因為由virteth2/L2br接收的流量總是進行標籤：

設定組態後，請繼續啟用：

ie3400#app-hosting activate appid testweb

testweb activated successfully

Current state is: ACTIVATED

開始

啟用後，最後一步是啟動應用程式。

可以使用以下命令來完成此操作：

ie3400#app-hosting start appid testweb

testweb started successfully

Current state is: RUNNING

如果在啟用階段未設定IP地址並決定使用DHCP，則可以獲取應用程式收到的IP地址：

ie3400#sh app-hosting detail | i IPv4

IPv4 address        : 192.168.0.224

為了檢查start命令是否成功，我們可以簡單地檢查應用程式是否按預期執行。

對於本文而言，此應用程式是一個簡單的Web伺服器，運行在埠9000上，因此我們可以通過查詢配置的IP地址（或通過DHCP獲取的）來測試它。