NSX Advanced Load Balancer は、GUI、RESTful API、または CLI を使用して管理できます。API 上には、GUI と CLI の両方が構築されています。つまり、すべての CLI コマンドは、対応する API 呼び出し(単一または複数の呼び出し)にマッピングされ、実行されます。
CLI コマンドを使用した NSX Advanced Load Balancer との対話
NSX Advanced Load Balancer には、許可されたユーザーが CLI ベースの会話をするための 3 つのエンティティがあります。
コントローラの Linux オペレーティング システム
コントローラで実行されている NSX Advanced Load Balancer プロセス
SE の Linux オペレーティング システム
最初の 2 つのエンティティとの会話はよくあるものです。3 つ目のタイプの会話は頻度が低く、通常はトラブルシューティングの目的でカスタマ サポート担当者が行います。
コントローラのオペレーティング システムとの CLI の会話
コマンドラインの例を次に示します。
ssh コマンドに渡されたある引数 (user@hostname) は、管理者とコントローラの IP アドレスの組み合わせです (10.144.130.195
)。すべての NSX Advanced Load Balancer Controller は、管理者ユーザーを認識します。その他は、必要に応じて定義できます。パスワード プロンプトへの応答はエコーされません。ただし、この例では、XXXXX で表します。
bash コマンドライン インタープリタは、コントローラの基盤となるオペレーティング システムおよびファイル システムへのアクセスを可能にします。使用事例の 1 つは、/opt/avi/log
および /var/log/upstart
ディレクトリにあるさまざまなログを分析することです。
$>ssh [email protected] Avi Cloud Controller Avi Networks software, Copyright (C) 2013-2017 by Avi Networks, Inc. All rights reserved. Management: 100.65.9.10/20 UP Gateway: 100.65.15.254 UP [email protected]@100.65.9.10 Avi Cloud Controller Avi Networks software, Copyright (C) 2013-2017 by Avi Networks, Inc. All rights reserved. Management: 100.65.9.10/20 UP Gateway: 100.65.15.254 UP [email protected]@100.65.9.10 Avi Cloud Controller Avi Networks software, Copyright (C) 2013-2017 by Avi Networks, Inc. All rights reserved. Management: 100.65.9.10/20 UP Gateway: 100.65.15.254 UP [email protected]'s password: The copyrights to certain works contained in this software are owned by other third parties and used and distributed under license. Certain components of this software are licensed under the GNU General Public License (GPL) version 2.0 or the GNU Lesser General Public License (LGPL) Version 2.1. A copy of each such license is available at http://www.opensource.org/licenses/gpl-2.0.php and http://www.opensource.org/licenses/lgpl-2.1.php Last login: Wed Apr 5 16:24:41 2023 from 100.65.1.5 admin@100-65-9-10:~$
コントローラで実行されている NSX Advanced Load Balancer プロセスとの CLI 会話
NSX Advanced Load Balancer 固有のコマンドは、コントローラの bash インターフェイスからは直接アクセスできません。
bash プロンプトへの応答に shell
コマンドを入力し、ログイン認証情報を次のように入力することで、NSX Advanced Load Balancer シェルのコマンドライン インタープリタを入力します。
shell Login: admin Password: XXXXX
シェル プロンプトに応答して Tab キーを 2 回押し、NSX Advanced Load Balancer 固有のコマンドを表示します。次に示す CLI スニペットにある TABTAB
は、Tab キーを 2 回押したことを表しています。
TABTAB attach forcedelete reprogram terminal clear gslb resync test configure import retryplacement upgrade controller migrate rollback upload convert nsx rotatekeys upload_to_avi debug passwd scalein verifylogin delete reboot scaleout vinfra do rediscover show watch exec redistribute switchover export reimage switchto
show
コマンドは、さまざまな問題の分析と情報の収集に役立ちます。たとえば、show virtualservice my-vs
は my-vs
という名前の仮想サービスに関する重要なデータを表示します。
前述のコマンドの詳細については、「CLI のトップレベル コマンド」を参照してください。
NSX Advanced Load Balancer シェルを終了してコントローラの bash プロンプトに戻るには、bash
と入力します。
bash
NSX Advanced Load Balancer SE の Linux オペレーティング システムとの CLI 会話
SE の CLI に直接アクセスすることは可能ですが、基本的なトラブルシューティングにのみ使用する必要があります。すべての構成管理はコントローラから行う必要があります。
SE に SSH 接続するか、NSX Advanced Load Balancer シェルから attach serviceengine name-of-service-engine
コマンドを実行すると、SE の Linux CLI に 1 つが配置されます。コントローラのシェル プロンプトに相当するものはありません。SE CLI には show
コマンドはありません。SE の CLI を使用して、/opt/avi/log
などのさまざまなディレクトリにある SE 固有のログを調べてください。
ナビゲーションおよびヘルプ
NSX Advanced Load Balancer シェルに入ったら、TAB キーを 2 回押して、使用可能なコマンドのリストを表示します。
コマンドの入力中に TAB キーを押すと、オートコンプリート機能によってコマンドが自動入力されます。TAB キーを 2 回押すと、左側の列に、コマンドで使用可能なオプションのリストが返されます。ほとんどのオプションでは、そのオプションの簡単な説明が右側の列に表示されます。
export configuration export configuration serviceengine export serviceengine ova file from controller virtualservice export virtual service
コマンドまたはパラメータには、複数のワードまたはオプションが必要な場合があります。ワードまたはオプションが 1 つだけの場合、Tab キーを押すと、オートコンプリート機能により、コマンド内の次のワードが自動的に入力されます。
export configuration [TAB] export configuration file [TAB] WORD (required) export configuration file mybackup Completed writing the export configuration to mybackup
その他のナビゲーション コマンド:
上矢印キーを押すと、以前に実行したコマンドに順に移動し、再利用が可能になります。
history コマンドは、リスト形式でコマンドを表示します。
パイプは結果をフィルタ処理します。次はその例です。
| grep address
| more
これらは watch コマンドにも役立ちます。
サブモード ナビゲーション
多くの NSX Advanced Load Balancer CLI コマンドには、サブモード(現在のコマンドをサブセクションでネストしたもの)が含まれています。
サブモードに切り替える場合は、関連するコマンドを入力します。サブモードのコンテキスト内では、明示的に保存されるまで変更はコミットされません。変更のコミット中にサブモードを終了するには、save
と入力します。
変更を保存せずにサブモードを終了するには、cancel
と入力します。サブモードまたはネストされたサブモードでは、コマンド プロンプトは現在のサブモードを反映するように変更されます。
debug virtualservice Test-VS debug_ip cancel cancel
サブモードに切り替えるコマンドを入力しながら、該当するフラグを追加することもできます。これにより、サブモードへの移動とコマンドの実行が同時に行われます。サブモード内の後続のコマンドは、最初のサブモード コマンドを使用しません。
debug_ip addrs 10.1.1.1 addrs 10.1.1.2 save
where コマンド
サブモード内で操作する場合は、パラメータに複数の変更を加えることができます。構成済みパラメータの現在の状態を表示するには、where
コマンドを使用します。
debug_ip addrs 10.1.1.1 addrs 10.1.1.2 addrs 10.1.1.3 where Tenant: admin +----------+----------+ | Field | Value | +----------+----------+ | addrs[1] | 10.1.1.1 | | addrs[2] | 10.1.1.2 | | addrs[3] | 10.1.1.3 | +----------+----------+
CLI コマンドの背後にある REST API 呼び出しの表示
NSX Advanced Load Balancer CLI コマンドには、コマンドが実行している API 呼び出し(単一または複数)をエコーする --api-detail
フラグを含めることができます。コマンドは、このフラグがない場合と同様に実行されます。これは、API ベースの自動化スクリプトを作成する場合に役立ちます。
show serviceengine --api-detail REST API Request API: /api/serviceengine?owned_by_controller=True&join_subresources=runtime
次に示すように、terminal display_api_details
コマンドを入力すると、単一の CLI セッション中に実行されるすべてのコマンドについて、API をエコーした出力を有効にすることができます。
terminal display_api_details show serviceengine REST API Request Method: GET API: /api/serviceengine?owned_by_controller=True&join_subresources=runtime +---------------------------+---------------+------------------+---------------+------------+ | Name | SE Group | Mgmt IP | Cloud | Oper State | +---------------------------+---------------+------------------+---------------+------------+ | se3 | glsbSEG | 192.168.38.56 | Default-Cloud | OPER_UP | | se1 | Default-Group | 192.168.38.52 | Default-Cloud | OPER_UP | | se2 | Default-Group | 192.168.38.53 | Default-Cloud | OPER_UP | +---------------------------+---------------+------------------+---------------+------------+