SaltStack

この章は次のトピックで構成されています。

SaltStack について

Cisco Nexus スイッチは、NX-OS を介して SaltStack をサポートします。Cisco NX-OS のサポートされているリリースの詳細については、https://github.com/saltstack/salt/blob/develop/doc/topics/installation/nxos.rst#step-1-verify-platform-and-software-version-support を参照してください。

SaltStack は、サーバーやその他のネットワーク デバイスの構成、管理、およびリモート実行のための無料のオープン ソース自動化フレームワークです。SaltStack フレームワークは、Salt プライマリと呼ばれるサーバーと、ミニオンと呼ばれるクライアント プログラムを実行する Salt ノードで構成されます。Cisco Nexus スイッチ(スイッチ)は、Salt ノードであり、Salt プライマリではありません。

SaltStack ミニオンは、スイッチに応じてオン ボックスまたはオフ ボックスのいずれかで実行して、構成または管理操作を実行できます。

  • オンボックスでは、ミニオンはスイッチの Bash シェルで実行されます。これらのネイティブ ミニオンは、プライマリからリモート コマンドを受信して実行し、コマンドの結果をプライマリに中継します。オンボックス展開では、ミニオンはスイッチの Guest Shell で有効になっています。

  • オフボックスでは、別のタイプのミニオンであるプロキシ ミニオンが、スイッチへの SSH 接続または NX-API を介して実行されます。プロキシ ミニオン(SSH プロキシ ミニオンまたは NX-API プロキシ ミニオン)は、コマンドを受信して実行します。その後、プロキシはコマンドの結果をプライマリに中継します。

鍵は、Salt プライマリと Cisco Nexus スイッチで実行されているミニオンとの間のセキュリティを確保するために使用されます。Salt のプライマリは、Cisco Nexus スイッチで実行されているミニオンとの接続を開始すると、最初にキーを渡します。ミニオンはキーを受け取り、正しい応答を計算し、キーをプライマリに送信します。プライマリは、キーの正しい応答値も計算しました。プライマリがミニオンからキーを受け取ると、キーが一致すると、セッションが開かれます。これにより、Salt プライマリはコマンドを送信できます。セッションは、電源を入れ直したり再起動したりしても持続しません。

SaltStack は、スイッチの CLI、プロパティ、および機能に影響を与える実行モジュールとソルトの状態を通じて、スイッチを管理および構成します。たとえば、モジュールを通じて、SaltStack を使用して Cisco Nexus スイッチをアップグレードできます。Salt プライマリは、自動化とスケーラビリティを活用するためにプログラムでコマンドを送信します。

詳細については、次のドキュメントを参照してください。

SaltStack

https://www.saltstack.com/

SaltStack のドキュメント

https://docs.saltstack.com/en/latest/

Cisco Nexus Salt Minion のインストールおよび構成ガイド

https://github.com/saltstack/salt/blob/develop/doc/topics/installation/nxos.rst

NX-OS と SaltStack について

Salt Open は、Salt 構成管理および分散リモート実行システムのオープン ソースのコミュニティ版です。Cisco NX-OS は、物理スイッチと Salt Open ソフトウェアの間に中間層を提供します。Cisco NX-OS と Salt Open は相互運用して、Salt ミニオンと Cisco Nexus スイッチの間に API とコマンド実行レイヤを提供します。Cisco NX-OS はミニオンをホストし、次のように実行できるようにします。

  • スイッチでは、Cisco NX-OS ゲスト シェルが SaltStack ミニオンをホストし、統合インターフェイスを介して 1 つ以上のスイッチの自動オーケストレーションを提供します。ゲスト シェルで実行されているミニオンはネイティブ ミニオンであり、NX-API を介して UNIX ドメイン ソケット(UDS)に接続します。

  • スイッチをオフにすると、Salt プライマリはネットワーク デバイス上で Salt Open ソフトウェアを実行し、SSH(SSH プロキシ ミニオン)または NX-API over HTTPS(NX-API プロキシ ミニオン)を介して NX-OS と通信します。Cisco NX-OS はコマンドを解釈し、必要な構成タスクを実行し、成功または失敗を適切なプロキシ ミニオンに報告します。プロキシ ミニオンは、このデータを Salt プライマリに送信します。

注意事項と制約事項

Cisco Nexus スイッチに SaltStack の導入の注意事項と制約事項は次のとおりです:

  • SSH または NX-API HTTPS を介して SaltStack を実行している場合は、Salt を実行する前に NX-API 機能(feature nxapi )を有効にします。

  • Salt のプライマリは、ポート 4506 でミニオンをリッスンします。このポートが開いていて(ブロックされていない)、別のサービスで使用されていないことを確認してください。

SaltStack の Cisco NX-OS 環境

Cisco NX-OS 環境は、Salt をオンボックスで実行しているかオフボックスで実行しているかによって異なります。

  • スイッチをオンボックスで管理するには、ミニオンのホスティング環境であるゲスト シェルに SaltStack ミニオン RPM をインストールする必要があります。

  • スイッチをオフボックスで管理するには、NX-OS で SSH または NX-API を有効にする必要があります。

SaltStack をサポートする Cisco Nexus スイッチなどの詳細については、https://github.com/saltstack/salt/blob/develop/doc/topics/installation/nxos.rst#step-1-verify-platform-and-software-version-support にアクセスしてください。

SaltStack の NX-API の有効化

始める前に

SSH または NX-API HTTPS で実行されているプロキシ ミニオンの場合、SaltStack が機能するには NX-API 機能を有効にする必要があります。デフォルトでは、NX-API が有効になっています。再度有効にする必要がある場合に備えて、次の手順を示します。

手順の概要

  1. config terminal
  2. feature nxapi

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

config terminal

例:

switch-1# config terminal 
Enter configuration commands, one per line. End with CNTL/Z.
switch-1(config)# 

コンフィギュレーション モードに入ります。

ステップ 2

feature nxapi

例:

switch-1# feature nxapi 
switch-1#(config)# 

プロキシ ミニオンの NX-API を有効にします。

次のタスク

ソルトスタックをインストールします。