NSX バックエンド障害のある Kubernetes リソース オブジェクトごとに、エラー情報を持つ 1 つの NSXError オブジェクトが作成されます。クラスタ全体のすべてのエラーに対するエラー オブジェクトもあります。

この機能はデフォルトで有効になっていません。有効にするには、NSX Container Plug-in (NCP) をインストールするときに ncp.inienable_nsx_err_crdTrue に設定する必要があります。

注: 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 アドレス不足