NCP は、各サービス ポートにレイヤー 4 のロード バランサ仮想マシンおよびプールを作成します。

この機能の詳細:
  • TCP および UDP の両方がサポートされます。
  • 各サービスには一意の IP アドレスが割り当てられます。
  • サービスには、LoadBalancer 定義の loadBalancerIP フィールドに基づいて外部 IP アドレス プールから IP アドレスが割り当てられます。loadBalancerIP フィールドは空白の場合もあれば、IP アドレスが設定されている場合もあります。また、IP アドレス プールの名前または ID が指定されている場合もあります。loadBalancerIP フィールドが空白の場合、IP アドレスは、ncp.ini[nsx_v3] セクションにある external_ip_pools_lb オプションで指定された外部 IP アドレス プールから割り当てられます。external_ip_pools_lb オプションがない場合は、external_ip_pools で指定されたプールが使用されます。LoadBalancer サービスは、この IP アドレスとサービス ポートを通じて公開されます。
  • 設定を変更して NCP を再起動することで、異なる IP アドレス プールに変更できます。
  • loadBalancerIP によって指定された IP プールには、scope: ncp/owner, tag: cluster:<cluster_name> タグが必要です。

  • NCP 3.0.2 以降は、ポリシー モードでセレクタのない LoadBalancer タイプのサービスがサポートされます。このようなサービスの場合、NSX-T ロード バランサの SNAT IP アドレスは LoadBalancer タイプのサービスの IP アドレスになります。LoadBalancer タイプのサービスの IP アドレスを更新すると、NSX-T ロード バランサの SNAT IP アドレスが更新されます。
  • サービスにはエラーのアノテーションが追加されます。エラー キーは ncp/error.loadbalancer です。想定されるエラーは次のとおりです。
    • ncp/error.loadbalancer: IP_POOL_NOT_FOUND

      このエラーは、指定した loadBalancerIP: <nsx-ip-pool> 中の <nsx-ip-pool> が見つからないことを示しています。サービスは非アクティブになります。エラーを修正するには、有効な IP アドレス プールを指定し、サービスを削除して再作成します。

    • ncp/error.loadbalancer: IP_POOL_EXHAUSTED

      このエラーは、指定した loadBalancerIP: <nsx-ip-pool> 中の IP アドレス プールで IP アドレスが枯渇していることを示しています。サービスは非アクティブになります。エラーを修正するには、使用可能な IP アドレスのある IP アドレス プールを指定し、サービスを削除して再作成します。

    • ncp/error.loadbalancer: IP_POOL_NOT_UNIQUE

      このエラーは、loadBalancerIP: <nsx-ip-pool> で指定された名前を持つ IP アドレス プールが複数あることを示します。サービスは非アクティブになります。

    • ncp/error.loadbalancer: POOL_ACCESS_DENIED

      このエラーは、loadBalancerIP で指定された IP アドレス プールに scope: ncp/owner, tag: cluster:<cluster_name> タグがないか、タグで指定されたクラスタが Kubernetes クラスタの名前と一致しないことを示します。

    • ncp/error.loadbalancer: LB_VIP_CONFLICT

      このエラーは、loadBalancerIP フィールドの IP アドレスがアクティブなサービスの IP アドレスと同じであることを示しています。サービスは非アクティブになります。

  • レイヤー 4 ロード バランサは、自動スケーリングをサポートしています。Kubernetes LoadBalancer サービスが追加の仮想サーバを必要とするように作成または変更されており、既存のレイヤー 4 ロード バランサに十分な容量がない場合、新しいレイヤー 4 ロード バランサが作成されます。また、NCP は、仮想サーバが接続されていないレイヤー 4 ロード バランサも削除します。この機能はデフォルトで有効になっています。この機能を無効にするには、NCP ConfigMap で l4_lb_auto_scalingfalse に設定する必要があります。