Slide 27
Slide 27 text
LoadBalancer 用の Interface
GetLoadBalancer(clusterName string, service *v1.Service)
・あまり変える部分はない
EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node)
・LoadBalancer を作成する、IP の指定がない場合は自動アサイン
UpdateLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node)
・LoadBalancer を更新する
EnsureLoadBalancerDeleted(clusterName string, service *v1.Service)
・LoadBalancer を削除する
大まかには上記 3 種類の Interface を実装してあげる形
渡ってくる構造体に必要な情報は大体揃っている
service.Name
service.Spec.LoadBalancerIP
service.Spec.Ports[].Port
service.Spec.Ports[].TargetPort
nodes.[].Name