内容

概要

前提条件

要件

設定

ネットワーキング

IOxの有効化

はじめに

ローカルマネージャ経由

ローカルマネージャに接続

展開

Activate

開始

IOxclientの使用

ioxclientの準備

展開

Activate

開始

IOS-XE CLIの使用

展開

Activate

開始

概要

このドキュメントでは、IE3400でIOxアプリケーションを展開、アクティブ化、および開始する方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- Cisco IOxおよびIOSの基礎知識

- IOS XEバージョン>17.2.1を実行するIE3400 8P2Sまたは8T2S

設定

IOSバージョン17.2.1以降、IE3400高耐久性シリーズスイッチはIOxアプリケーションホスティングをサポートしています。これにより、エッジデバイスで独自のカスタムコード/アプリケーション/コンテナを実行できます。アプリケーションホスティングをサポートするIoTプラットフォームの大部分と同様に、このドキュメントで詳しく説明する、いくつかの詳細を念頭に置いてください。

ネットワーキング

IE3400には、AppGigabitEthernet1/1と呼ばれるIOxアプリケーションに接続するための追加（仮想）インターフェイスがあります

この図は、このインターフェイスのアーキテクチャを簡略化したものです。

ご覧のように、AppGigabitEthernet1/1というインターフェイスがアプリケーションへの接続を提供します。AppGigabitEthernet1/1は、アクセスモードとトランクモードの両方で通常の物理インターフェイスとして設定できるため、さまざまなオプションがあります。このポートのもう1つの一般的な名前はKRポートです。

現在、AppGigiabitEthernet1/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では、IOxアプリケーションとデータを保存するためにSDカードが必要です。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.

たとえば、Local Managerやioxclientを使用してIOx機能にリモートでアクセスできるようにするには、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

はじめに

IE3400にIOxアプリケーションを導入するには、複数の方法があります。このドキュメントでは、次の方法について説明します。

- ローカルマネージャの使用：グラフィカルUI

- ioxclientの使用：リモートCLI

- IOS-XEの使用：オンデバイスCLI

これらの方法の1つは、すべてのタスクを実行するのに十分です。これらの方法は、完全を期すために3つすべてここに文書化され、幅広い対象者に到達します。

ローカルマネージャ経由

Local Managerは、IOx対応プラットフォームでIOxアプリケーションを管理および導入するために使用されるグラフィカルインターフェイスです。Local Managerは、IOx対応デバイス自体（この場合はIE3400）で実行されています。

ローカルマネージャに接続

Webサーバを有効にしてユーザを追加する手順を実行した場合は、https://<svi ip>/を使用してSVI IPアドレスを使用してIE3400のWebインターフェイスにアクセスできます（この記事では次のように説明します）。https://192.168.0.30/):

上で説明したように作成したユーザを使用してログインし、図に示すように[Configuration] > [Services] > [IOx]に移動できます。

Local Managerに直接移動する場合は、次のURLを使用できます。https://<svi ip>/iox/login (この記事ではhttps://192.168.0.30/iox/login)

Local Managerのログイン画面で、前述のpriv 15ユーザ定義を再度使用します。

展開

ログインしたら、アプリケーションの展開を開始します。

Add Newをクリックし、アプリケーションの名前を選択し、図に示すように、PC上のアプリケーションパッケージを参照します。

[OK]をクリックすると、アプリケーションがアップロードされ、IE3400にインストールされます。問題がなければ、このイメージが画面に表示され、IOxアプリケーションが展開状態になります。

Activate

アプリケーションを配備したら、次のステップはアプリケーションをアクティブにすることです。このフェーズでは、アプリケーションが使用するリソースを指定します。

図に示すように、配備されたIOxアプリケーションの[Activate]ボタンをクリックします。

次の画面で、アプリケーションに割り当てるコンピューティングリソースの量を選択できます。

ネットワークを設定するには、図に示すように、[Network Configuration] の[edit]をクリックします。

ネットワーク構成で、デフォルトのネットワーク名(mgmt-bridge300)を編集することを選択し、図に示すように[Interface Setting]をクリックします。

ポップアップで、ダイナミックIPのいずれかを選択します。これにより、AppGi1/1インターフェイスで設定したVLANのDHCPサーバからIPを取得したり、スタティックIPを設定したりできます。

ネットワーキング手順で説明したように、この手順でAppGi1/1のアクセス/トランクと一致するVLANを指定することが重要です。

現在、AppGigiabitEthernet1/1インターフェイスがアクセスモードで設定されている場合でも、IOxアプリケーションインターフェイスにVLAN IDを設定する必要があります。これは、virteth2/L2brが受信するトラフィックが常にタグ付けされるためです。

次に、ネットワーク設定を保存し、アプリケーションをアクティブにします。

問題がなければ、アプリケーションはActivatedステータスになります。

開始

アプリケーションがアクティブになったので、物事を進めるために残っているすべてが、アプリケーションを起動することです。

図に示すように、Local Managerでアプリケーションの[Start]ボタンをクリックします。

この操作が完了すると、アプリはRunning状態になり、設定されたネットワークを使用してアプリケーションに到達できるようになります。

DHCPを使用することを選択した場合は、[Manage] > [App-Info] > [interface-name] > [eth0]に移動して、アプリケーションのIPアドレスを検索します。

このドキュメントでは、このアプリケーションはポート9000で実行される単純なWebサーバです。これをテストするには、設定されている（またはDHCPで取得された）IPアドレスに移動します。

IOxclientの使用

IOxclientはLocal ManagerのCLIベースの製品であり、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

Activate

アプリケーションがデプロイされたら、アクティブ化に進みます。このフェーズでは、アプリケーションで使用するリソースを指定します。

アプリケーションがネットワークを使用または設定できるコンピューティングリソースを選択するには、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を指定することが重要です。

現在、AppGigiabitEthernet1/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コマンドを使用するか、アプリケーションが想定どおりに動作するかどうかを確認します。

この記事では、このアプリケーションはポート9000で実行される単純なWebサーバであるため、設定された（またはDHCPを介して取得された）IPアドレスを照会してテストできます。

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

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

IOS-XE CLIの使用

IOSx対応の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

Activate

配置の後、他の方法と同様に、次の手順はアプリケーションをアクティブ化することです。このフェーズでは、アプリケーションが使用するリソースを指定します。

少なくとも、ネットワーキングを設定する必要があります。これは次のように実行できます。

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を指定することが重要です。

現在、AppGigiabitEthernet1/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コマンドが正常に実行されたかどうかを確認するには、アプリケーションが想定どおりに動作するかどうかを確認します。

このドキュメントでは、このアプリケーションはポート9000で実行される単純なWebサーバであるため、設定された（またはDHCPを介して取得された）IPアドレスを照会してテストできます。