MicroShift is Technology Preview software only.
For more information about the support scope of Red Hat Technology Preview software, see Technology Preview Support Scope.1.8. ワークロードのロードバランサーのデプロイ
Red Hat build of MicroShift は、ネットワークロードバランサーの組み込み実装を提供します。次の手順例では、ノード IP アドレスを LoadBalancer サービス設定ファイルの外部 IP アドレスとして使用します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - クラスター管理者のロールを持つユーザーとしてクラスターにアクセスできます。
- OVN-Kubernetes ネットワークプラグインで設定されたインフラストラクチャーにクラスターがインストールされている。
-
KUBECONFIG環境変数が設定されている。
手順
次のコマンドを実行して、Pod が実行していることを確認します。
oc get pods -A
$ oc get pods -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、サンプルの名前空間を作成します。
NAMESPACE=nginx-lb-test
$ NAMESPACE=nginx-lb-testCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc create ns $NAMESPACE
$ oc create ns $NAMESPACECopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例では、テスト
nginxアプリケーションの 3 つのレプリカを名前空間にデプロイします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行すると、3 つのサンプルレプリカが正常に開始したことを確認できます。
oc get pods -n $NAMESPACE
$ oc get pods -n $NAMESPACECopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のサンプルコマンドを使用して、
nginxテストアプリケーションのLoadBalancerサービスを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記portパラメーターが、他のLoadBalancerサービスまたは Red Hat build of MicroShift コンポーネントによって占有されていないホストポートであることを確認する必要があります。サービスファイルが存在し、外部 IP アドレスが適切に割り当てられていること、および外部 IP がノード IP と同一であることを確認するには、次のコマンドを実行します。
oc get svc -n $NAMESPACE
$ oc get svc -n $NAMESPACECopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx LoadBalancer 10.43.183.104 192.168.1.241 81:32434/TCP 2m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx LoadBalancer 10.43.183.104 192.168.1.241 81:32434/TCP 2mCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドは、
LoadBalancerサービス設定の外部 IP アドレスを使用して、例のnginxアプリケーションへの 5 つの接続を形成します。コマンドの結果は、それらのサーバー IP アドレスのリストです。次のコマンドを使用して、ロードバランサーが実行中のすべてのアプリケーションにリクエストを送信していることを確認します。EXTERNAL_IP=192.168.1.241 seq 5 | xargs -Iz curl -s -I http://$EXTERNAL_IP:81 | grep X-Server-IP
EXTERNAL_IP=192.168.1.241 seq 5 | xargs -Iz curl -s -I http://$EXTERNAL_IP:81 | grep X-Server-IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーがトラフィックをアプリケーションに正常に分散している場合、前のコマンドの出力には異なる IP アドレスが含まれます。次に例を示します。
出力例
X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43
X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43Copy to Clipboard Copied! Toggle word wrap Toggle overflow