CISCO-ロゴ

CISCO CSR 1000v のカスタム データの使用

CISCO-CSR-1000v-カスタムデータ製品の使用

カスタム データを使用した Cisco CSR 1000v VM の展開

Cisco CSR 1000v 仮想マシン インスタンスを Google Cloud Platform に展開する場合、必要に応じて、VM 作成コンソールの [起動スクリプト] セクションを使用してカスタム データを提供することを選択できます。 CLI を使用してカスタム データにアクセスし、さまざまな自動化目標を達成することもできます。 GCP のカスタム データを使用すると、Cisco IOS XE 構成コマンドの実行、0 日目のゲストシェルでの Python パッケージのインストール、0 日目のゲストシェルでのスクリプトの実行、および必要なテクノロジー パッケージで CSR 1000v インスタンスを起動するためのライセンス情報の提供が可能になります。

サポートされているリリース
Cisco IOS XE Gibraltar 1000 以降のリリースでのみ、カスタム データを使用して Cisco CSR 16.12.1v VM を展開できます。

  • カスタムデータの編集、
  • カスタムデータへのアクセス、
  • カスタム データ構成の確認、

カスタムデータの編集

カスタム データを編集するには、次のプロパティを構成します。

  • IOSの設定
  • スクリプト
  • スクリプト認証情報
  • Pythonパッケージ
  • ライセンス

プロパティを配置できます。 file 任意の順序で。 次のプロパティの説明では、プロパティ間の依存関係 (存在する場合) を指定します。 元を参照してくださいampルブートストラップ fileにある: https://github.com/csr1000v/customdata-examples.

カスタム データ プロパティを定義した後、起動スクリプトまたはカスタム データにアクセスできます。 file 「カスタム データへのアクセス」セクションで説明されているように、CLI を使用します。

IOS 構成プロパティの構成

Day0 で IOS 設定をブートストラップする場合は、「IOS 設定」プロパティを設定します。 次の IOS 構成例を参照してください。amp上:

  • セクション: IOS 設定
  • ホスト名 CSR1
  • インターフェイスギガビットイーサネット1
  • 説明「静的 IP アドレス設定」
  • IPアドレス 10.0.0.1 255.255.255.0
  • インターフェイスギガビットイーサネット2
  • 説明「DHCP ベースの IP アドレス設定」
  • IPアドレスdhcp

「セクション」という最初の行の後: IOS 設定では、Cisco CSR 1000v ルータ上で実行する Cisco IOS XE 設定コマンドのリストを入力できます。
このコマンドを実行すると、1000 日目に、前述の IOS 設定が GCP 上で実行されている CSR 0v ルーターに適用されます。

スクリプトプロパティの構成

Scripts プロパティは、CSR1000v インスタンスの展開を自動化するのに役立ちます。 Day0 でゲストシェル コンテキストで Python または Bash スクリプトを実行したい場合は、パブリック スクリプトを提供します。 URL および Scripts プロパティの Python または bash スクリプトの引数。 スクリプトには、スクリプトの最初の行にシバン (!) 文字を含むコードが含まれている必要があります。 この行は、スクリプト コードの解析にどのスクリプト インタプリタ(Python または Bash)を使用する必要があるかを Cisco IOS-XE に指示します。 元の場合ampたとえば、Python スクリプトの最初の行には #!/usr/bin/env python を含めることができますが、Bash スクリプトの最初の行には #!/bin/bash を含めることができます。 この行により、Python または Bash スクリプトを Linux 環境で実行可能コードとして実行できるようになります。 スクリプトを実行すると、Cisco CSR 1000v インスタンスのゲストシェル コンテナ内でスクリプトが実行されます。 ゲストシェル コンテナにアクセスするには、ゲストシェル EXEC モード コマンドを使用します。 guestshell コマンドの詳細については、『Programmability Configuration Guide』を参照してください。 Scripts プロパティを設定するには、次の形式を使用します。
セクション: スクリプト
公共_url
このスクリプトでは、プロパティの最初の行は「セクション: スクリプト」となります。 プロパティの XNUMX 行目に、次のように入力します。 URL スクリプトとスクリプトの引数の説明。 スクリプトは Python または Bash スクリプトのいずれかです。 カスタム データをアップロードすると、初回起動時にスクリプトがゲストシェルで実行されます。 file、CSR1000v インスタンスを作成するとき。 に view もっと元ampスクリプトのファイルについては、次の「スクリプト」を参照してください。 https://github.com/csr1000v/customdata-examples。 また、次の例を参照してくださいampレ:
Examp1 番目
セクション: スクリプト
https://raw.githubusercontent.com/csr1000v/customdata-examples/master/scripts/smartLicensingConfigurator.py–idtoken”<token_string>”–throughput The two lines in the scripts property retrieve the smartLicensingConfigurator.py script from the custom data-examples repository at the specified URL. The script runs in the guestshell container of the Cisco CSR 1000v with the arguments idtoken and throughput.

Examp2 番目
セクション: スクリプト
ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2
Scripts プロパティのこれら 10.11.0.4 行は、IP アドレス 1 の FTP サーバから script.pyscript を取得し、Cisco のゲストシェル コンテナで ./script.py -a arg2 -s arg1000 Bash コマンドを使用してスクリプトを実行します。引数 arg1 および arg2 を使用する CSR XNUMXv インスタンス。

注記 [Scripts] プロパティのスクリプトで、標準の CentOS Linux リリース (ゲストシェルで現在使用されている CentOS Linux リリースは CentOS Linux リリース 7.1.1503) に含まれていない Python パッケージが必要な場合は、Python パッケージに関する情報を含める必要があります。 Python パッケージのプロパティで。 詳細については、「Python パッケージ プロパティの設定」を参照してください。カスタム データにアクセスして Bash または Python スクリプトを実行する前に、シスコでは、
URL Scripts プロパティを使用して、使用する予定のファイルを作成します。 最初に c を実行すると、ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2 をテストできます。url スクリプトをダウンロードするためのソフトウェア ツール file。 ゲストシェルで「c」と入力します。url 次の例に示すコマンドampル:curl -m 30 –再試行 5 –user ユーザー名:パスワード ftp://10.11.0.4/dir1/dir2/script_needs_credentials.py。 cの場合url コマンドが成功すると、Python スクリプトのコピーがダウンロードされ、 URL 正解です。

スクリプト認証情報プロパティの構成

[スクリプト] プロパティで FTP サーバーを指定しており、そのサーバーでユーザー名とパスワードの資格情報が必要な場合は、[スクリプト資格情報] プロパティを使用して資格情報を指定します。

注記 FTP サーバーに匿名でアクセスできる場合は、スクリプト資格情報プロパティを使用する必要はありません。 Scripts プロパティを設定します。 URL スクリプト資格情報プロパティのパラメータと一致するパラメータ。 スクリプト資格情報プロパティを構成するには、次の形式を使用します。 セクション: スクリプト資格情報 public_url
Example
セクション: スクリプト認証情報
ftp://10.11.0.4/dir1/dir2/script1.py userfoo foospass [スクリプト資格情報] プロパティの 1 行目は、Python スクリプト scriptXNUMX.py のユーザー名 (userfoo) とパスワード (foospass) 資格情報の値を指定します。 Scripts プロパティにも含まれる FTP サーバーの名前を含めます。 元彼ampScripts プロパティのファイル行は、ftp://10.11.0.4/dir1/dir2/script1.py -a arg1 -s arg2 です。 元を参照amp「スクリプト プロパティの構成」のファイル 2、

Python パッケージのプロパティの構成

Python パッケージが [スクリプト] プロパティのスクリプトで必要であり、それが標準の CentOS Linux リリース 7.1.1503 の一部ではない場合は、そのパッケージに関する情報を Python パッケージ プロパティに含める必要があります。 ブートストラップに Python パッケージのプロパティを含めることによって file、カスタム データの前に、Cisco CSR 1000v が必要な Python パッケージをダウンロードしてインストールすることを確認します。 file Scripts プロパティで指定したもの。
Python パッケージのプロパティを構成する
Python パッケージのプロパティを構成するには、次の形式を使用します。
セクション: Python パッケージ
package_name [ version ] [ sudo ] { [ pip_arg1 [ ..[ pip_arg9] ] ] } 引数: version、sudo、pip_arg1 ~ pip_arg9 はオプションです。 pip コマンドの引数は「{」と「}」の中括弧で囲む必要があります。 version 引数を指定すると、特定のバージョン番号がダウンロードされます。 sudo 引数を指定すると、パッケージは sudo ユーザーとしてダウンロードされます。 構成例ampレ
Examp1 番目
セクション: Python パッケージ
NCクライアント0.5.2
この例ampこのファイルでは、Python パッケージ プロパティの 0.5.2 行目で、package_name が「ncclient」、バージョンが「XNUMX」であることが指定されています。 ブートストラップのとき file がアップロードされると、ncclient パッケージのバージョン 0.5.2 が Cisco CSR 1000v のゲストシェル コンテナにインストールされます。
Examp2 番目
セクション: Python パッケージ
csr_gcp_ha 3.0.0 sudo {–user} この例ではampこのファイルでは、Python パッケージ プロパティの 3.0.0 行目で、package_name が「csr_gcp_ha」、バージョンが「XNUMX」であることが指定されています。 ブートストラップのとき file がアップロードされると、csr_gcp_ha パッケージのバージョン 3.0.0 が Cisco CSR 1000v のゲストシェル コンテナにインストールされます。 次のコマンドは sudo ユーザーとして実行されます: pip install csr_gcp_ha=3.0.0 –user。

ライセンスプロパティの構成

ライセンス プロパティを設定して、Cisco CSR 1000v インスタンスのライセンス テクノロジー レベルを指定します。

  • プロパティの最初の行を「セクション: ライセンス」の形式で入力します。
  • TechPackage:tech_level の形式を使用して、ライセンスの技術レベルを指定するプロパティの XNUMX 行目を入力します。

注記  「TechPackage:」と tech_level の間にスペースが入っていないことを確認してください。 可能な tech_level 値には、ax、security、appx、または ipbase が含まれます。
tech_level が小文字であることを確認してください。

構成例ample
セクション: ライセンス TechPackage:セキュリティ

カスタムデータへのアクセス

  • カスタム データを file CLI を使用して、次のスクリプトを実行します。 カスタム データへのアクセス file CLI を使用する
  • カスタム データを file CLI を使用して、次のスクリプトを実行します: gcloud compute instances create –メタデータの送信元-file=startup-script=Customdata.txt –image
  • このコマンドを実行すると、Cisco CSR 1000v VM が作成されます。 ルーターは次のコマンドを使用して設定されます。 file:「カスタムデータ.txt」。
    コンソールからカスタム データにアクセスする コンソールからカスタム データにアクセスするには、GCP コンソールにログインします。 [Compute Engine] をクリックし、[インスタンスの作成] を選択します。 [新しい VM インスタンス] 画面で、[管理] > [起動スクリプト] をクリックします。

CISCO-CSR-1000v-カスタム データの使用-図-1

カスタム データ構成の確認

カスタム データ スクリプトを実行すると、VM が作成され、構成コマンドが実行されます。 同じことを確認するには、次のコマンドとスクリプトを使用します。

  • show version: ライセンス プロパティが機能したかどうかを判断するには、CSR 1000v の Cisco IOS XE CLI で show version コマンドを入力します。 元の場合ampファイルの場合、出力にはセキュリティ ライセンスへの参照が表示されます。
  • scripts プロパティでコマンドを実行した後にエラーが発生したかどうかを確認するには、customdata.log を調べます。 file /ブートフラッシュ/内/ディレクトリ。 スクリプト名.log file スクリプトによって STDOUT に送信される出力を保存します。
  • Python プロパティが機能したかどうかを確認するには、pip freeze | と入力します。 grep ゲストシェルからのコマンド view 現在インストールされている Python パッケージ。 ここで、package-name は、具体的に検索しているパッケージを指します。
  • IOS 設定プロパティの Cisco IOS XE コマンドを確認するには、show running-configuration コマンドを実行します。

ドキュメント / リソース

CISCO CSR 1000v のカスタム データの使用 [pdf] ユーザーマニュアル
CSR 1000v カスタム データの使用、CSR 1000v、カスタム データの使用、カスタム データ、データ

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *