Kube-VIP ロード バランサ(vSphere テクニカル プレビュー)

このトピックでは、vSphere のスタンドアローン管理クラスタによってデプロイされる、Tanzu Kubernetes Grid (TKG) ワークロード クラスタでホストされるワークロードの L4 ロード バランサとして Kube-VIP を使用する方法について説明します。

この機能は、サポートされていない「テクニカル プレビュー」状態です。「TKG の機能状態」を参照してください。

背景

Kube-VIP は、外部ハードウェアやソフトウェアに依存することなく、制御プレーンおよび ServiceType LoadBalancer の Kubernetes サービスの両方の仮想 IP アドレスとロード バランサを Kubernetes クラスタに提供します。

TKG の以前のバージョンは、TKG 制御プレーンに仮想 IP アドレス サービスを提供するために、Kube-VIP をすでに使用しています。

TKG は、Kube-VIP の ExternalTrafficPolicy Local モードをサポートしません。

構成

前提条件

Kube-VIP は、以下のクラスタでのみ LoadBalancer サービスとして構成できます。

  • vSphere 上のクラスベースのワークロード クラスタ。
  • 制御プレーン HA プロバイダとして Kube-VIP が構成された (AVI_CONTROL_PLANE_HA_PROVIDER = false) ワークロード クラスタ。
  • 制御プレーン HA プロバイダとして Kube-VIP を備えた管理クラスタを持つワークロード クラスタ。
  • Windows ベースのクラスタでは、kube-VIP を LoadBalancer サービスとして使用することはできません。

クラスタ内で Kube-VIP を LoadBalancer サービスとして使用するワークロード クラスタを作成する前には、ノード仮想マシンに割り当てる IP アドレスの範囲を割り当てる必要があります。LoadBalancer サービス自体の IP アドレスは、同じ範囲にする必要があります。

パラメータ

Kube-VIP をクラスベースのワークロード クラスタのロード バランサ サービスとして構成するには、クラスタ構成ファイルで次のように設定します。

  • KUBEVIP_LOADBALANCER_ENABLE

    • Kube-VIP を有効にするには、true に設定します。デフォルトの設定は false です。
  • KUBEVIP_LOADBALANCER_IP_RANGES

    • LoadBalancer タイプのサービス IP アドレスに割り当てる重複しない IP アドレス範囲のリスト。例:10.0.0.1-10.0.0.23,10.0.2.1-10.0.2.24
  • KUBEVIP_LOADBALANCER_CIDRS

    • LoadBalancer タイプのサービス IP アドレスに割り当てる重複しない CIDR のリスト。例:10.0.0.0/24,10.0.2/24

KUBEVIP_LOADBALANCER_IP_RANGES または KUBEVIP_LOADBALANCER_CIDRS のいずれかが必要です。両方を設定すると、kube-vip-load-balancer コンポーネントは、設定された範囲で使用可能なアドレスがなくなった場合でも、KUBEVIP_LOADBALANCER_CIDRS から IP アドレスのみを割り当てます。

競合を回避するには、各クラスタの IP アドレス範囲が異なる必要があります。異なるクラスタの IP アドレス範囲と CIDR 範囲が重複しないようにする必要があります。

Kube-VIP ロード バランサの IP アドレス範囲の拡張

Kube-VIP をロード バランサとして使用するワークロード クラスタの場合、Kube-VIP CPI 構成の loadbalancerCIDRs または loadbalancerIPRanges の値を変更することで、Kube-VIP がトラフィックのバランスをとっている IP アドレス範囲を拡張できます。

拡張できるのは Kube-VIP の範囲のみです。既存の IP アドレス範囲を縮小することはできません。

  1. kubectl のコンテキストを管理クラスタに設定します。

    kubectl config use-context my-mgmnt-cluster-admin@my-mgmnt-cluster
    
  2. ターゲット クラスタの KubevipCPIConfig 構成を編集します。

    kubectl edit kubevipcpiconfig CLUSTER-NAME -n CLUSTER-NAMESPACE
    

    ここで、CLUSTER-NAME および CLUSTER-NAMESPACE は、Kube-VIP の範囲を拡張するワークロード クラスタの名前と名前空間です。

  3. KubevipCPIConfig 仕様で、loadbalancerCIDRs または loadbalancerIPRanges の値を、IP アドレスのみを追加する方法で変更します。たとえば、loadbalancerCIDRs: 10.0.0.1/24 を次のいずれかに変更できます。

    • 10.0.0.0/24,10.0.1.0/24
    • 10.0.0.0/16
check-circle-line exclamation-circle-line close-line
Scroll to top icon