このトピックでは、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
サービスとして構成できます。
AVI_CONTROL_PLANE_HA_PROVIDER = false
) ワークロード クラスタ。LoadBalancer
サービスとして使用することはできません。クラスタ内で Kube-VIP を LoadBalancer
サービスとして使用するワークロード クラスタを作成する前には、ノード仮想マシンに割り当てる IP アドレスの範囲を割り当てる必要があります。LoadBalancer
サービス自体の IP アドレスは、同じ範囲にする必要があります。
パラメータ
Kube-VIP をクラスベースのワークロード クラスタのロード バランサ サービスとして構成するには、クラスタ構成ファイルで次のように設定します。
KUBEVIP_LOADBALANCER_ENABLE
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 をロード バランサとして使用するワークロード クラスタの場合、Kube-VIP CPI 構成の loadbalancerCIDRs
または loadbalancerIPRanges
の値を変更することで、Kube-VIP がトラフィックのバランスをとっている IP アドレス範囲を拡張できます。
注拡張できるのは Kube-VIP の範囲のみです。既存の IP アドレス範囲を縮小することはできません。
kubectl
のコンテキストを管理クラスタに設定します。
kubectl config use-context my-mgmnt-cluster-admin@my-mgmnt-cluster
ターゲット クラスタの KubevipCPIConfig
構成を編集します。
kubectl edit kubevipcpiconfig CLUSTER-NAME -n CLUSTER-NAMESPACE
ここで、CLUSTER-NAME
および CLUSTER-NAMESPACE
は、Kube-VIP の範囲を拡張するワークロード クラスタの名前と名前空間です。
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