kube-vip
ベアメタル環境で、Kubernetesのコントロールプレーンにフローティングな仮想IPを与える。背後のノードが再起動している間も、kubectlの接続先アドレスが生き続ける。
コントロールプレーンのノードを3台並べたクラスタには共有のエンドポイントが必要で、クラウドならプロバイダーのロードバランサーが無料で用意してくれる。自前のハードウェアでは、仮想アドレスにkeepalived、負荷分散にHAProxyという組み合わせが定番だった。クラスタができる前から、余計なサービスを二つ設定して維持する必要がある。kube-vipはこれを、ノード上のスタティックPodひとつで済ませる。リーダー選出にはKubernetes自身のLeaseを使い、アドレスは選出されたリーダーからのARP、またはネットワークのルーターへのBGPで広告される。同じコンポーネントがLoadBalancer型Serviceにアドレスを配ることもでき、小規模な構成ならMetalLBが不要になる。