Cisco DCNM LAN ファブリックの展開でのテンプレートの使用

templateType

使用するテンプレートのタイプを指定します。

  • CLI

  • ポリシー

  • SHOW

  • プロファイル

  • [抽象(ABSTRACT)]

ポリシーテンプレート

ポリシー テンプレートには、CLI と PYTHON の 2 つのテンプレート コンテンツ タイプがあります。CLI コンテンツ タイプでは、ポリシー テンプレートはパラメータ化された CLI テンプレートです。それらは多くの変数と CLI を持つことができます。通常、CLI ポリシー テンプレートは小さく、if-else-for などのような構造はありません。AAA サーバー構成の CLI ポリシー テンプレートの例を以下に示します。

ただし、テンプレート コンテンツ タイプ PYTHON のポリシー テンプレートを使用することもできます。基本的に、これにより、複数の CLI ポリシー テンプレートを共通の「送信元」と組み合わせて、一度にすべての適用/適用解除を行うことができます。たとえば、vPC ホスト ポートを作成する場合、vPC ペアの一部である両方のピアで対称的に作成する必要があります。さらに、ポートチャネル、メンバー インターフェイス、チャネル グループなどを作成する必要があります。これが、Python vPC ホスト ポリシー テンプレートが追加された理由です。ルーテッド インターフェイスを設定するためのインターフェイス PYTHON テンプレートの例を以下に示します。

各ポリシー テンプレートには、DEVICE、INTERFACE などのテンプレート サブタイプがあります。これにより、適切なポリシー テンプレートが適切な選択ポイントに表示されます。たとえば、[インターフェイス(Interface)] ウィンドウには、インターフェイス ポリシー テンプレートのみが表示されます。

ファブリック ビルダの [ポリシーの表示/編集(View/Edit Policies)] ウィンドウには、デバイス ポリシー テンプレートのみが表示されます。

これらのテンプレートのいずれかをコピーして、必要に応じてカスタマイズできます。これは、カスタマイズの典型的なユースケースです。 既存のポリシーを変更せずにコピーを作成し、要件に従ってカスタマイズしてください。そうしないと、DCNM のアップグレード後に変更が失われる可能性があります。

一般に、すでに使用されているテンプレート、つまりファブリック内のスイッチにすでに適用されているテンプレートは編集できません。


(注)  

LAN ファブリック インストール モードでは、Type-CLI テンプレートは使用されません。それらはすべて、スーパー セットであるより強力なポリシー テンプレートに置き換えられます。


ファブリックのテンプレート

ファブリック テンプレートは基本的に python テンプレート、具体的には jython、つまり java + python です。ファブリック テンプレートは非常に包括的であり、ファブリック全体内のすべてのスイッチの目的の構成を生成するために必要なすべてのロジックを含む、ファブリックの展開に必要なルールが組み込まれています。構成は、公開されているシスコのベストプラクティス ガイドラインに基づいて生成されます。組み込みルールに加えて、ファブリック テンプレートは、リソース マネージャ、トポロジデータベース、デバイス ロール、構成コンプライアンスなどの他のエンティティとも統合し、ファブリック内のすべてのデバイスに応じて構成を生成します。これは、DCNM ファブリック ビルダに固有の部分です。

ユーザーが独自のファブリック テンプレートを作成しないことが望ましいです。DCNM には、Easy ファブリック、外部ファブリック、MSD ファブリック、eBGP ファブリック(DCNM 11.2 で導入)など、すぐに使用できるいくつかのファブリック テンプレートが用意されています。

プロファイル テンプレート

プロファイル テンプレートは、オーバーレイ(ネットワークまたは VRF)のプロビジョニングに使用されます。オーバーレイ構成を適用する場合、複数の構成要素を組み合わせる必要があるという考え方です。たとえば、VXLAN EVPN ファブリックの有効なレイヤ 3 ネットワーク構成には、VLAN、SVI、int nve 構成、EVPN ルート ターゲットなどが必要です。これらの要素はすべて、いわゆる構成プロファイル(NX-OS コンストラクト)にまとめられます。そして、一度に効果的に適用されます。スイッチ上で、構成プロファイル全体が適用されるか、何も適用されません。このようにして、スイッチにぶら下がったり迷い込んだりする構成が残されることはありません。リーフまたはボーダーのいずれの種類のオーバーレイ構成でも、DCNM はプロファイル テンプレートを使用します。

以下に示すように、タグで区別される 4 種類のプロファイル テンプレートがあります。

  • ネットワーク プロファイル(ロール リーフを持つすべてのデバイスに適用)

  • ネットワーク拡張プロファイル(ロール「border*」を持つすべてのデバイスに適用)

  • VRF プロファイル(ロール リーフを持つすべてのデバイスに適用)

  • VRF 拡張プロファイル(ロール「border*」を持つすべてのデバイスに適用)

DCNM のネットワークと VRF ワークフローを介してオーバーレイ構成を適用する方法の詳細については、「ネットワークと VRF の作成と展開」セクションを参照してください。

補足事項

ポリシーまたはプロファイル テンプレートが適用されると、テンプレートのアプリケーションごとにインスタンスが作成されます。これに使用される一般的な用語は、ポリシー テンプレート インスタンスまたは PTI です。PTI は、実質的にポリシーまたはプロファイル テンプレート + 置換後の特定のインスタンスを与える名前と値のペアです。デバイス用に作成された PTI は、ファブリック ビルダのそのデバイスの [ポリシーの表示/編集(View/Edit policies)] オプションで表示できます。表形式のビューでは、[ポリシーの表示/編集(View/Edit policies)] ボタンを使用して、ファブリック全体のデバイスのサブセット全体でポリシーの選択と一括作成/削除を行うことができます。詳細については、「ポリシーの表示と編集」セクションを参照してください。

ポリシーの表示、編集、および追加

[ポリシーの表示/編集(View/Edit Policies)] ウィンドウに移動するには、[ファブリック ビルダ(Fabric Builder)] ウィンドウでデバイスを右クリックし、[ポリシーの表示/編集(View/edit policies)] を選択します。

[ポリシーの表示/編集(View/Edit Policies)] ウィンドウを使用して、デバイスのポリシーを表示、編集、または作成できます。インターフェイス ポリシーは表示のみが可能で、[ポリシーの表示/編集(View/Edit Policies)] ウィンドウから編集/作成することはできないことに注意してください。インターフェイスは、[インターフェイス(Interfaces)] ウィンドウからのみ編集、作成、または削除できます。

ポリシーの表示

デバイスの特定のポリシーを表示するには、各フィールドの下にある空のボックスに検索条件を指定することにより、フィルタを使用できます。ポリシーが見つかったら、複数のポリシーを選択して [表示(View)] ボタンをクリックすると、コンテンツを表示できます。以下は、フィルタの使用方法と、ポリシー インスタンスに関連付けられた構成を表示する方法を示す例です。

例:デバイスのポリシーの表示

検索フィールドに tcam と入力してテンプレートをフィルタリングし、表示するテンプレートを選択し、[表示(View)] ボタンをクリックして、デバイス用に作成された TCAM ポリシーを表示します。

例:インターフェイスのポリシーの表示

エンティティ名の下にある検索フィールドにインターフェース名を入力して、インターフェースをフィルタ処理します。インターフェイスを選択し、[表示(View)] ボタンをクリックして、インターフェイス用に作成されたポリシーを表示します。


(注)  

  • 各インターフェイスは、1 つのインターフェイス jython ポリシー テンプレートに関連付ける必要があります。

  • インターフェイス jython ポリシー テンプレートには、そのコンテンツに CLI が含まれていませんが、CLI ポリシー テンプレートの PTI が作成されます。これらすべての PTI が組み合わされて、インターフェイスに関連付けられた完全な構成が生成されます。


ポリシーの編集

すべてのデバイス ポリシーを [ポリシーの表示/編集(View/Edit policies)] ウィンドウから編集できるわけではありません。空の送信元で作成され、フラグ Editable = true を持つポリシーのみを編集できます。

Procedure


Step 1

デバイス ポリシーを編集するには、既存のポリシーを選択し、編集または [鉛筆(Pencil)] ボタンをクリックします。[ポリシーの編集 (Edit Policy)] ウィンドウが開きます。

Step 2

1 つ以上の名前と値のペアを変更したら、[保存(Save)] ボタンを押して [ポリシーの編集(Edit Policy)] ウィンドウで変更を保存します。

Step 3

変更した構成を展開するには、[ファブリック ビルダ(Fabric Builder)] ウィンドウに戻り、デバイスを右クリックして [構成の展開(Deploy Config)] を選択します。

これにより、構成コンプライアンスが呼び出され、デバイスの保留中の構成が生成されます。保留中の構成は、スイッチの現在の構成と新しいインテント構成の差分です。

Step 4

保留中の構成が正しい場合は、[構成の展開(Deploy Config)] をクリックして保留中の構成をスイッチにプッシュします。


例:ポリシーの編集

この例は、IPv4 管理デフォルトゲートウェイを変更する方法を示しています。

ポリシーの追加

Procedure


Step 1

ポリシーをデバイスに追加するには、[ポリシーの表示/編集(View/Edit Policies)] ページで [+] ボタンをクリックします。

[ポリシーの追加(Add Policy)] ウィンドウが開きます。

Step 2

[ポリシー(Policy)] ドロップダウン リストから、デバイスに追加するポリシーを選択します。

Step 3

ポリシーの優先順位を設定し、必須フィールドに入力します。

Step 4

[保存(Save)] ボタンをクリックして保存し、ポリシーの追加を完了します。

Note 

ポリシーの優先順位は、構成がスイッチに適用される順序を決定するために使用されます。望ましい構成またはインテントでは、優先順位の低い PTI が優先順位の高い PTI の前に配置されます。これが、展開モジュールを介して構成がプッシュされる順序になります。デフォルトの優先順位は 500 です。


バナー ポリシーの追加

この例は、バナー ポリシーをデバイスに追加する方法を示しています。

新しい構成の展開

新しい構成を展開するには、次の 2 つの方法があります。

  1. [ファブリック ビルダ(Fabric Builder)] ウィンドウに移動し、デバイスを右クリックして [構成の展開(Deploy Config)] を選択します(この方法が推奨されています)。

  2. [ポリシーの表示/編集(View/Edit Policies)] ウィンドウで、新しく追加したポリシーを選択し、[表示(View)] をクリックして構成を確認します。新しい構成が適切に見える場合は、[構成のプッシュ(Push Config)] ボタンをクリックして、新しい構成をデバイスにプッシュします。[構成のプッシュ(Push Config)] は構成コンプライアンスをバイパスすることに注意してください。このオプションは、新しいユーザまたは SNMP ユーザをスイッチに追加する必要がある場合などの例外シナリオにのみ使用してください。

switch_freeform テンプレートの使用

[switch_freeform] は、ユーザーがデバイスに任意の自由形式構成を指定できるようにする特別なポリシー テンプレートです。テンプレートの使用方法は次のとおりです。

  • [スイッチ自由形式構成(Switch Freeform Config)] パラメータでスイッチ レベルの構成を指定します。

  • 指定された構成は、大文字と小文字と改行に関して [show run] 出力と一致する必要があります。不一致があると、展開中に予期しない差分が発生します。

  • 指定された構成に対して、内部の [switch_freeform_config] CLI ポリシーが作成されます。

  • 現在、SVI インターフェイスはインターフェイス ページで構成できないため、SVI インターフェイス以外のインターフェイス構成にはこのテンプレートを使用しないでください。

  • ユーザーは、さまざまな構成に対して多くの [switch_freeform] ポリシーを作成できます。

  • [switch_freeform] PTI は、ポリシーの優先順位に基づいて他の PTI と一緒に並べ替えられます。

  • [switch_freeform] ポリシーは、構成の展開前または展開後に編集できます。

  • 構成コンテンツに変更がある場合、以前に作成された内部 [switch_freeform_config] ポリシー優先順位が正の数から負の数に変更され、新しい構成に対して新しい内部ポリシーが作成されます。

  • [負(negative)] の優先順位 PTI は、PTI 内の CLI を削除する必要があることを意味します。[構成コンプライアンス(Configuration Compliance)] は、それに応じて [no] コマンドを生成します。

  • [switch_freeform] ポリシーを削除すると、その内部ポリシーの PTI 優先順位が負の数に変更されます。

次のセクションでは、[switch_freeform] ポリシーを作成し、ポリシーを展開し、その後、更新されたポリシーを編集して再展開する方法を示します。

例:switch_freeform ポリシーの作成

[switch_freeform] ポリシーを作成するには、次の手順を実行します。

Procedure


Step 1

[ポリシーの追加(Add Policy)] 画面のポリシー リストから、[switch_freeform] テンプレートを選択します。

優先順位を設定し、自由形式構成を切り替えます。ポリシーを保存します。

Step 2

[switch_freeform] ポリシーのインテント構成を表示します。

Step 3

ファブリック ビルダから switch_freeform ポリシーを展開します。

Step 4

[ポリシーの表示/編集(View/Edit Policies)] ウィンドウから、switch_freeform ポリシーを編集します。

構成を変更します。

Step 5

変更を保存します。

以下に示すように、以前に作成された内部 [switch_freeform_config] ポリシーの優先順位が負の数(-200)に変更され、[削除済みとマークする(Mark Deleted)] フラグが true に設定されています。ただし、設計により、新しく作成された内部 [switch_freeform_config] ポリシーは表示されません。

Step 6

[削除済みとマークする(mark deleted)] 内部ポリシーのインテント構成を表示します。

Step 7

展開の前に、[変更された(changed)] switch_freeform ポリシーのインテント構成を表示します。

[mark-deleted] 構成と[現在の構成(current configs)] の両方が表示されることに注意してください。

Step 8

変更した構成をファブリック ビルダから展開します。


使用中テンプレートのコンテンツの変更

一般に、テンプレートは、ポリシー、ファブリック、またはプロファイル テンプレートのいずれであっても、インスタンス化されると変更できません。ただし、テンプレートのバグを修正したり、すでに展開されている構成を変更したりするなど、テンプレートのコンテンツを編集したい場合もあります。これは、[管理(Administration)] > [サーバー プロパティ(Server Properties)] タブで [template.in_use.check] オプションを切り替えることで実現できます。

Procedure


Step 1

[template.in_use.check][true(デフォルト)] から [false] に変更します。

Step 2

右上角にある [変更を適用(Apply Changes)] をクリックします。

DCNM の再起動が必要であることを示す警告がポップアップ表示されます。

in_use フラグを有効にするために再起動する必要はないため、この警告は無視してください。

Step 3

目的のテンプレートを編集します。

Step 4

ファブリック ビルダのページに移動し、ファブリック全体に対して [保存と展開(Save & Deploy)] をクリックします。

これにより PTI が再生成され、更新されたコンテンツが取得され、望む構成(またはインテント)に使用されます。

Step 5

コンテンツが再生成されて展開されたら、パフォーマンスの問題を回避するために、[template.in_use.check][true] に戻します。