4.6.5. MetalLB を使用したサービスの設定
アプリケーションを外部ネットワークトラフィックに公開するには、ロードバランシングサービスを設定します。MetalLB は、設定済みの IP アドレスプールから外部 IP アドレスを割り当て、クラスター外部からアプリケーションにアクセスできるようにします。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - MetalLB Operator をインストールして、MetalLB を起動します。
- 1 つ以上のアドレスプールを設定します。
- トラフィックをクライアントからクラスターのホストネットワークにルーティングするようにネットワークを設定します。
手順
<service_name>.yamlファイルを作成します。ファイル内で、spec.typeパラメーターをLoadBalancerに設定します。MetalLB がサービスに割り当てる外部 IP アドレスを要求する方法は、例を参照してください。
サービスを作成します。
$ oc apply -f <service_name>.yaml出力例
service/<service_name> created
検証
サービスを記述します。
$ oc describe service <service_name>出力例
Name: <service_name> Namespace: default Labels: <none> Annotations: metallb.io/address-pool: doc-example Selector: app=service_name Type: LoadBalancer IP Family Policy: SingleStack IP Families: IPv4 IP: 10.105.237.254 IPs: 10.105.237.254 LoadBalancer Ingress: 192.168.100.5 Port: <unset> 80/TCP TargetPort: 8080/TCP NodePort: <unset> 30550/TCP Endpoints: 10.244.0.50:8080 Session Affinity: None External Traffic Policy: Cluster Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal nodeAssigned 32m (x2 over 32m) metallb-speaker announcing from node "<node_name>"ここでは、以下のようになります。
アノテーション- 特定のプールから IP アドレスを要求する場合に表示されるアノテーションを指定します。
型-
LoadBalancerを示す必要があるサービスタイプを指定します。 ロードバランサーイングレス- サービスが正しく割り当てられている場合、外部 IP アドレスを指定します。
Events- 外部 IP アドレスを通知するために割り当てられたノード名を示すイベントパラメーターを指定します。エラーが発生した場合、events パラメーターにはエラーの原因が示されます。