NSX バックエンド障害のある Kubernetes リソース オブジェクトごとに、エラー情報を持つ 1 つの NSXError オブジェクトが作成されます。クラスタ全体のすべてのエラーに対するエラー オブジェクトもあります。
この機能はデフォルトで有効になっていません。有効にするには、NSX Container Plugin (NCP) をインストールするときに ncp.ini で enable_nsx_err_crd を True に設定する必要があります。
注: NSXError オブジェクトを作成、更新、削除することはできません。
NCP をポリシー モードで起動した場合(NCP YAML ファイルで policy_nsxapi=true オプションを使用した場合)、NSXError リソースはサポートされません。
NSXError オブジェクトを表示するコマンド:
- kubectl get nsxerrors
すべての NSXError オブジェクトを一覧表示します。
- kubectl get nsxerrors -l error-object-type=<type of resource>
たとえば、タイプ services のオブジェクトなど、特定のタイプの Kubernetes オブジェクトに関連する NSXError オブジェクトを一覧表示します。
- kubectl get nsxerrors <nsxerror name> -o yaml
NSXError オブジェクトの詳細を表示します。
- kubectl get svc <service name> -o yaml | grep nsxerror
特定のサービスに関連付けられている NSXError を検索します。
NSXError オブジェクトの詳細を表示するとき、仕様セクションには次の重要な情報が含まれています。次はその例です。
error-object-id: default.svc-1 error-object-name: svc-1 error-object-ns: default error-object-type: services message: - '[2019-01-21 20:25:36]23705: Number of pool members requested exceed LoadBalancerlimit'
この例では、ネームスペースは default です。サービスの名前は svc-1 です。Kubernetes リソースのタイプは services です。
このリリースでは、NSXError オブジェクトによって次のエラーがサポートされています。
- NSX Edge の制限を原因とする、自動スケーリングによる追加のロード バランサの割り当ての失敗。
- ロード バランサ仮想サーバ数の上限の超過(自動スケーリングが有効でない場合)。
- ロード バランサのサーバ プール数の上限の超過。
- ロード バランサのサーバ プール メンバー数のロード バランサの上限または NSX Edge の上限の超過。
- LoadBalancer タイプのサービスを処理時のフローティング IP アドレス不足