ゲスト シェルは、仮想化された Linux ベースの環境であり、Cisco デバイスの自動制御と管理のための Python アプリケーションを含む、カスタム Linux アプリケーションを実行するように設計されています。ゲストシェルを使用すると、ユーザーはサードパーティ製
Linux アプリケーションのインストール、更新、操作、および IOS CLI へのアクセスを行うこともできます。
ゲスト シェル環境は、ネットワーキングではなく、ツール、Linux ユーティリティ、および管理性を意図したものです。
ゲストシェルは、ホスト(ルータ)システムとカーネルを共有します。ユーザーは、ゲスト シェルの Linux シェルにアクセスし、コンテナの rootfs にあるスクリプトおよびソフトウェア パッケージを更新することができます。ただし、ゲスト シェル内のユーザーは、ホストのファイル
システムおよびプロセスを変更することはできません。
ゲストシェルコンテナは、IOx を使用して管理されます。IOx は、Cisco IOS XE デバイスのためのシスコのアプリケーション ホスティング インフラストラクチャです。IOx は、シスコ、パートナー、およびサード パーティの開発者によって開発されたアプリケーションおよびサービスをネットワーク
エッジ デバイスでシームレスにホスティングすることを、各種の多様なハードウェア プラットフォームにおいて可能にします。
ゲストシェルは通常、システムイメージとともにバンドルされており、Cisco IOS コマンド guestshell enable を使用してインストールできます。ただし、この方法では、イメージのサイズが約 75 MB 増加します。これは、帯域幅が限られているか、LTE を介してイメージをダウンロードする一部のユーザーにとっては問題です。
これらのユーザーを考慮して、ゲストシェルは単一の tar ファイルとして使用できるようになり、他の IOX アプリケーションと同様にダウンロードしてシステムにインストールできます。その結果、ユニバーサル リリース イメージのサイズは増加しません。
(注)
|
第 0 日のゲストシェル プロビジョニングは、このアプローチでは機能しません。
|
ゲストシェルは、デフォルトで、管理インターフェイスを介してアプリケーションによる管理ネットワークへのアクセスを許可します。IR1101 のように専用管理ポートを持たないプラットフォームの場合、VirtualPortGroup を IOS 設定内のゲストシェルに関連付けることができます。
ゲストシェルの設定例については、こちらを参照してください。
ゲストシェルをデバイスにインストールするには、tar ファイルをルータにコピーし、次のコマンドを実行します。
app-hosting install appid guestshell package <path to tar file>
ステータスを確認するには、次のコマンドを使用します。
show app-hosting list
ゲストシェルが正常に展開されると、guestshell enable 、guestshell run bash 、guestshell run python3 などの標準のゲストシェルコマンドが機能します。
次のリソースでは、guesthell を使用した Python スクリプトの実行について説明しています。
CLI Python モジュール
(注)
|
17.5.1 では python3 のみがサポートされています。
|
重要:インストールする前に
デバイスにゲストシェルをインストールする前に、次のコマンドを実行して、デバイスに IOx コンテナキーがプログラムされていることを確認してください。
Router#show software authenticity keys | i Name
Product Name : SFP-VADSL2-I
Product Name : SFP-VADSL2-I
Product Name : IR1101
Product Name : IR1101
Product Name : Cisco Services Containers
Product Name : Cisco Services Containers
出力には、製品名が「Cisco Services Containers」の行が 1 つ以上含まれている必要があります。コンテナキーがデバイスにプログラムされていない場合は、ゲストシェルをインストールできません。
次のようなエラーが表示されます。
*Aug 26 15:47:21.484: %IOSXE-3-PLATFORM: R0/0: IOx: App signature verification failed with non-zero exit code
*Aug 26 15:47:21.588: %IM-6-INSTALL_MSG: R0/0: ioxman: app-hosting: Install failed: App package signature (package.sign)
verification failed for package manifest file package.mf. Re-sign the application and then deploy again.
コンテナキーをデバイスにインストールするためのソフトウェアベースのメカニズムはありません。キーは製造施設でプログラムする必要があります。2020 年 1 月 1 日以降に出荷された IR1100 デバイスでは、コンテナキーがプログラムされています。
ゲストシェルの tar ファイルは、特定のリリースの IOS-XE イメージとともに発行されます。詳細については、https://developer.cisco.com/docs/iox/#!iox-resource-downloads/downloadsを参照してください。