IE9300 スイッチへの IOx アプリケーションの展開

IE9300 スイッチでの IOx アプリケーション管理の概要

最も一般的に使用されている IOx アプリケーションは、Cisco Cyber Vision と iPerf です。Cisco Catalyst IE9300 高耐久性シリーズ スイッチは、ARM64 アーキテクチャを利用する LXC ベースのアプリケーションと Docker ベースのアプリケーションの両方をサポートしており、さまざまな導入オプションを提供します。IE9300 スイッチは、IPv4 設定と IPv6 設定に対応するように設計されているため、柔軟なネットワーク統合が可能です。

IOx アプリケーション フレームワークは、Docker ランタイム設定の設定オプションを複数提供しており、アプリケーションごとに複数のゲストまたはレイヤ 2 インターフェイス(0 ~ 63)の設定をサポートします。各レイヤ 2 インターフェイスを個別の VLAN に割り当てることができるため、ネットワークの編成とセグメンテーションの機能が強化されます。

IOx アプリケーション展開のガイドライン

  • アプリケーション パッケージまたは tar ファイルを IOS パーティション内のフラッシュまたは SD カードストレージに配置します。

  • レイヤ 2 アプリケーション トラフィックを転送するには、IE9300 スイッチでインターフェイス Ap1/0/1 を使用します。このインターフェイスがアクティブで、トランクポートとして設定されていることを確認します。

  • IE9300 スイッチのインターフェイス Ap1/0/1 を使用してレイヤ 2 インターフェイスを設定し、同じ VLAN ネットワーク内の IP アドレスを持つ VLAN を割り当てます。次に、同じネットワーク内の SVI または IP アドレスを使用してゲートウェイ インターフェイスを設定します。

IOx アプリケーション展開の制限事項

  • アプリケーションごとに最大 3 つのゲートウェイ インターフェイスの設定のみが許可されます。

  • すべてのインターフェイスをサポートするように設定できるデフォルトゲートウェイは 1 つのみです。

Cisco IOx Local Manager のリソース プロファイル オプション

  • Cisco IOx Local Manager では、次のような複数のリソースプロファイルが提供されます。

    • tiny

    • exclusive

    • 3default、および

    • custom。

  • カスタムプロファイルを使用すると、IOx アプリケーションの特定の要件に従って、CPU、メモリ、およびディスク割り当てを調整できます。

IOS-XE CLI を使用した IOx アプリケーションの展開

図 1. アプリケーションを使用した IOx 展開の例


この設定例は、Cisco Catalyst IE9300 高耐久性シリーズ スイッチでの一般的な IOx アプリケーションの展開を示しています。インターフェイス Ap1/0/1 は、Linux ブリッジに内部的にリンクされ、複数の IOx アプリケーションの使用を容易にするトランクとして設定されます。アプリケーション「Iperf_3」には、ゲストインターフェイスで IPアドレス 192.168.0.2 が割り当てられます。また、ネットワークのデフォルトゲートウェイは、IP アドレス 192.168.0.1 を使用して、スイッチ仮想インターフェイス(SVI)VLAN 10 で設定されます。

インターフェイスの例が含まれていない図については、このガイドの「IE9300 スイッチから IOx アプリケーションへの接続」を参照してください。

CLI を使用した IOx アプリケーションの設定

始める前に

IE9300 スイッチから IOx アプリケーションへの接続」セクションの説明に従って、IOx 用のネットワークが設定されていることを確認します。

手順


ステップ 1

グローバル コンフィギュレーション モードを開始します。

Device# configure terminal

ステップ 2

アプリケーション名を設定し、アプリケーション ホスティング コンフィギュレーション モードを開始します。

Device(config)# app-hosting appid iperf_3

ステップ 3

AppGigabitEthernet トランクを設定します。

Device(config-app-hosting)#app-vnic AppGigabitEthernet trunk

ステップ 4

VLAN ゲストインターフェイスを設定します。この設定では、Eth0 を VLAN 10 に配置します。

Device(config-config-app-hosting-trunk)#vlan 10 guest-interface 0

ステップ 5

静的 IP アドレスを設定します。

  • IPv4

    Device(config-config-app-hosting-vlan-access-ip)#guest-ipaddress 192.168.0.2 netmask 255.255.255.0

  • IPv6

    Device(config-config-app-hosting-vlan-access-ip)#guest-ipv6address 2001::1 prefix 64

ステップ 6

サブインターフェイスモードを終了します。

Device(config-config-app-hosting-vlan-access-ip)#exit

ステップ 7

アプリケーション ホスティング トランク サブインターフェイス モードを終了します。

Device(config-config-app-hosting-trunk)#exit

ステップ 8

アプリケーションのデフォルトゲートウェイを設定します。スイッチの VLAN ID インターフェイスをゲートウェイとして使用します。

Device(config-app-hosting)#app-default-gateway 192.168.0.1 guest-interface 0

(注)  

 

最大 3 つのゲートウェイをサポートします。

ステップ 9

設定を保存し、特権 EXEC モードに戻ります。

Device(config-if)#end


IOx に対する Docker ランタイムオプションの設定

始める前に

  • ランタイムオプションの設定:IOx アプリケーションに対して個別に 30 行までの Docker ランタイムオプションを設定できます。これらのオプションは、1 行目から順に 30 行目まで 1 つの文字列にコンパイルされます。各文字列には、複数の Docker ランタイムオプションを含めることができます。

  • ランタイムオプションへの変更の適用:ランタイムオプションの変更を適用するには、まずアプリケーションを停止してから非アクティブ化し、次に再度アクティブ化し、最後に再起動します。このプロセスにより、新しいランタイムオプションの正常な実装を確実に実行できます。

手順


ステップ 1

グローバル コンフィギュレーション モードを開始します。

Device# configure terminal

ステップ 2

アプリケーション名を設定し、アプリケーション ホスティング コンフィギュレーション モードを開始します。

Device(config)# app-hosting appid iperf_3

ステップ 3

アプリケーション ホスティング Docker コンフィギュレーション モードを開始します。

Device(config-app-hosting)#app-resource docker

ステップ 4

Docker ランタイムオプションを指定します。

Device(config-app-hosting-docker)#run-opts 1 "--entrypoint '/bin/sleep 10000'"

ステップ 5

アプリケーション ホスティング Docker コンフィギュレーション モードを終了します。

Device(config-app-hosting-docker)#exit

ステップ 6

設定を保存し、特権 EXEC モードに戻ります。

Device(config-if)#end


アプリケーション ホスティング用のアプリケーション リソース プロファイルの設定

始める前に

  • リソースを変更する前に、アプリケーション ホスティングをアクティブにします。

  • show app-hosting resource コマンドを使用して、メモリとストレージを確認します。

手順


ステップ 1

グローバル コンフィギュレーション モードを開始します。

Device# configure terminal

ステップ 2

アプリケーション名を設定し、アプリケーション ホスティング コンフィギュレーション モードを開始します。

Device(config)# app-hosting appid iperf_3

ステップ 3

カスタム アプリケーション リソース プロファイルを設定します。

Device(config-app-hosting)#app-resource profile custom

(注)  

 

システムは、カスタムプロファイル名のみをサポートします。

ステップ 4

CPU リソースを設定します。

Device(config-app-resource-profile-custom)#cpu 500

ステップ 5

アプリケーションのメモリをメガバイト単位で割り当てます。

Device(config-app-resource-profile-custom)#memory 256

ステップ 6

アプリケーションの固定的ディスク容量をメガバイト単位で割り当てます。

Device(config-app-resource-profile-custom)#persist-disk 256

ステップ 7

設定を保存し、特権 EXEC モードに戻ります。

Device(config-if)#end


スイッチへの IOx アプリケーションのインストール、アクティブ化、および起動

始める前に

IOx アプリケーションに対するネットワークの設定」セクションの説明に従って、ネットワークと IOx アプリケーションが設定されていることを確認します。

手順


ステップ 1

アプリケーションをインストールし、展開済み状態になるよう操作します。

Device#app-hosting install appid iperf_3 package flash:iperf_3_eft_dockerimage_aarch.tar
Installing package 'flash:iperf_3_eft_dockerimage_aarch.tar' for 'iperf_3'. Use 'show app-hosting list' for progress

(注)  

 

Cisco IOx アプリケーションの署名検証と自動アクティブ化」セクションで説明されているように、署名検証が有効になっている場合は、インストール時にアプリケーションの署名が検証されます。

ステップ 2

(任意)IOx アプリケーションの状態を確認するには、次の show コマンドを入力します。

switch #show app-hosting list
App id                                   State
---------------------------------------------------------
iperf_3                                  DEPLOYED

ステップ 3

リソースを割り当てて、アプリケーションをアクティブ化します。

Device# app-hosting activate appid iperf_3                         
Current state is: ACTIVATED

ステップ 4

IOx アプリケーションを起動します。

Device# app-hosting start appid iperf_3   
iperf_3 started successfully
Current state is: RUNNING

Cisco IOx アプリケーションの署名検証と自動アクティブ化

IOx インフラストラクチャは、インストール中に Cisco IOx アプリケーションの署名検証を確認します。アプリケーションパッケージの署名により、パッケージの有効性が保証され、デバイスにインストールされているアプリケーションが信頼できる供給源からのものであることが確認されます。

署名検証の条件

IOx インフラストラクチャは、次の条件で署名を確認します。

  • 署名検証が有効になっている場合。

  • IOx インフラがストレージとしてブートフラッシュを使用する場合、署名検証ステータスに関係なく署名を確認します。

  • アプリケーションがセキュアストレージなどの制約付きのリソースを使用している場合。

署名検証が有効になっていて、アプリケーションに署名がない場合、システムはアプリケーションの実行を阻止します。

署名されていないシスコ以外のアプリケーションを実行するための条件

システムは、署名検証を有効にせずにシスコ以外のアプリケーションが動作することを許可しません。ただし、次の場合、システムは署名のないシスコ以外のアプリケーションの実行を許可します。

  • 署名検証が無効になっている場合。

  • アプリケーションがストレージとして SD カードを使用している場合。または、

  • アプリケーションが制約付きのリソースを使用していない場合。

Start キーワードを使用したアプリケーションの自動アクティブ化および起動

システムは、アプリケーション ホスティング コンフィギュレーション下で start キーワードオプションを提供しています。この start キーワードを使用すると、インストール後に IOx インフラストラクチャが自動的にアクティブ化され、アプリケーションが起動します。start キーワードを使用しない場合は、activate および start コマンドを使用して、手動でアクティブ化とスタートアップを行う必要があります。

署名検証の管理とステータスの確認

手順


ステップ 1

署名検証を有効にするには、次のコマンドを使用します。

Device#app-hosting verification enable

ステップ 2

(任意)署名検証を無効にするには、次のコマンドを使用します。

Device#app-hosting verification disable

ステップ 3

(任意)署名検証が有効か無効かを確認するには、次のコマンドを使用します。

Device# show app-hosting infra
IOX version: 2.7.0.0
App signature verification: disabled
Internal working directory: /mnt/usb0/iox
Application Interface Mapping
AppGigabitEthernet Port # Interface Name Port Type Bandwidth
1 AppGigabitEthernet1/0/1 KR Port - Internal 1G
CPU:
Quota: 33(Percentage)
Available: 26(Percentage)
Quota: 1000(Units)
Available: 800(Units)

(注)  

 

インストールされているアプリケーションの状態に関係なく、いつでも署名検証を有効または無効にできます。


アプリケーションの最大リソース割り当ての表示

スイッチのアプリケーションに割り当てられる最大リソースを表示するには、次のコマンドを使用します。

Device# show app-hosting resource
CPU:
  Quota: 33(Percentage) 
  Available: 0(Percentage)
VCPU:
  Count: 2
Memory:
  Quota: 862(MB)
  Available: 0(MB)
Storage space:
  Total: 3668(MB)
  Available: 2849(MB)

IOx アプリケーション設定後にスイッチで使用可能なリソース

IOx アプリケーション設定後にスイッチに残っているリソースを表示するには、次のコマンドを使用します。

Device# show app-hosting infra
IOX version: 2.7.0.0
App signature verification: disabled
Internal working directory: /mnt/usb0/iox
Application Interface Mapping
AppGigabitEthernet Port #  Interface Name    Port Type                  Bandwidth  
                           1                 AppGigabitEthernet1/0/1    KR Port - Internal   1G
CPU:
  Quota: 33(Percentage) 
  Available: 0(Percentage)
  Quota: 1000(Units)
  Available: 0(Units)

スイッチ内のアプリケーション情報の表示

スイッチ内の詳細なアプリケーション関連情報を表示するには、次のコマンドを使用します。

Device# show app-hosting detail appid iperf_3
App id                 : iperf_3
Owner                  : iox
State                  : RUNNING
Application
  Type                 : docker
  Name                 : networkstatic/iperf_3
  Version              : latest
  Description          : 
  Author               : Brent Salisbury <brent.salisbury@gmail.com>
  Path                 : bootflash:iperf_3x86.tar
  URL Path             : 
Activated profile name : custom
Resource reservation
  Memory               : 500 MB
  Disk                 : 500 MB
  CPU                  : 173 units
  CPU-percent          : 5 %
  VCPU                 : 1
Platform resource profiles
  Profile Name                  CPU(unit)  Memory(MB)  Disk(MB)
  --------------------------------------------------------------
Attached devices
  Type              Name               Alias
  ---------------------------------------------
  serial/shell     iox_console_shell   serial0
  serial/aux       iox_console_aux     serial1
  serial/syslog    iox_syslog          serial2
  serial/trace     iox_trace           serial3
Network interfaces
   ---------------------------------------
eth0:
   MAC address         : 52:54:dd:67:81:6f
   IPv6 address        : ::
   Network name        : mgmt-bridge300
eth3:
   MAC address         : 52:54:dd:b2:4d:86
   IPv4 address        : 20.1.2.2
   IPv6 address        : ::
   Network name        : VPG0
eth1:
   MAC address         : 52:54:dd:f2:29:67
   IPv4 address        : 10.1.1.2
   IPv6 address        : 2001:1::5054:ddff:fef2:2967
   Network name        : mgmt-bridge-v2340
Docker
------
Run-time information
  Command              : 
  Entry-point          : /bin/sleep 10000
  Run options in use   : --entrypoint '/bin/sleep 10000'
  Package run options  : 
Application health information
  Status               : 0
  Last probe error     : 
  Last probe output    : 

スイッチ上の IOx アプリケーションの停止、非アクティブ化、およびアンインストール

手順


ステップ 1

アプリケーションを停止するには、次のコマンドを使用します。

Device# app-hosting stop appid iperf_3
iperf_3 stopped successfully
Current state is: STOPPED

ステップ 2

IOx アプリケーションを非アクティブにするには、次のコマンドを使用します。

Device# app-hosting deactivate appid iperf_3
iperf_3 deactivated successfully
Current state is: DEPLOYED

ステップ 3

IOx アプリケーションをアンインストールするには、次のコマンドを使用します。

Device# app-hosting uninstall appid iperf_3
Uninstalling 'iperf_3'. Use 'show app-hosting list' for progress.

App-Hosting コマンドの表示

app-hosting コマンドのサブコマンドのリストを表示するには、次に示すコマンドを使用します。

Device# app-hosting ?
  activate      Application activate		<== to activate app
  clear         Clear console/aux connection     <== to clear console or aux session if connected
  connect       Application connect              <== to connect the app console or aux or session once in run state
  data          Application data	           <== to upload files to the apps
  deactivate    Application deactivate	     <== to deactivate an app
  debug         debug			         <== for caf related debug commands
  install       Application install	        <== to install app
  move          Move File		           <== to move trace or core file
  settings      Application settings	       <== to configure app specific setting using file
  start         Application start	          <== to start an app
  stop          Application stop	           <== to stop an app
  uninstall     Application uninstall	      <== to uninstall an app`
  upgrade       Application upgrade	        <== to upgrade app to new version	
  verification Application signature verification setting (global) 	<== to enable/disable the sign verification

Cisco IOx Local Manager を使用した IOx アプリケーションの展開

Cisco IOx Local Manager は、ホストシステム上のアプリケーションの管理、運用、監視、および障害対応を行い、さまざまな関連アクティビティを実行するための Web ベースのインターフェイスを提供します。

Cisco Catalyst IE9300 高耐久性シリーズ スイッチの Web ベース UI から Cisco IOx Local Manager にアクセスし、Cisco IOx Local Manager を使用してアプリケーションを展開します。

Cisco IOx Local Manager アプリケーションへのアクセス

  • Cisco Catalyst IE9300 高耐久性シリーズ スイッチの Web ベース UI にログインします。

  • [Configuration] > [IOx] に移動します。[IOx] オプションは、[Services] セクションにあります。

  • Cisco IOx Local Manager で、Cisco IOS のユーザー名とパスワードを入力します。

  • [Log In] をクリックして続行します。

詳細については、『Cisco IOx Local Manager Reference Guide』のページ [英語] を参照してください。